ios 制作手机端拼图游戏及衍生的其他内容
本拼图游戏包含调节三档的难度, 除了默认的图片外,还能够选取相册中的图片或者直接拍下图片进行游戏等。
此文为博主原创技术总结, 转载注明出处:http://blog.csdn.net/luckydog2479/article/details/17713477
首先说一下使用的版本
Xcode版本:Version 5.0.2 (5A3005)
iPhone版本:iPhone4S 7.0.4(11B554a)
本文主要涉及内容为
1.图片的分解,将一张图片按拼图需求分解为N*M个部分
2.图片文件的压缩,这里的压缩包含文件大小及像素等,由于设备的先进性,拍摄的照片文件过大,直接使用会导致内存不足,所以使用压缩比为1:5,并且将像素缩到320*(480-64)之内
3.排序,此处对拼图排序,在过程中规避了无解的情况,在下文中会详细提到
以下开始正文内容
1.图片分解部分,使用
CGImageRef CGImageCreateWithImageInRect(CGImageRef image, CGRect rect)
image为总图片,rect为分解出的图片像素,返回类型为 CGImageRef, 需要使用
+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage;
转化为UIImage
2.图片文件压缩,在保存图片文件时,如果保存成JPG文件可以使用
NSData *UIImageJPEGRepresentation(UIImage *image,CGFloat compressionQuality);
compressionQuality 为图片压缩比例,为1的时候压缩最小,为0的时候压缩最大
3.拼图排序
关于排序这部分,还需要感谢 邪魔统夜 给出的灵感,逆推答案的确是一个办法,不会存在无解的情况,并且可以获取一条正确解(并不一定是最优解),在这里博主并没有使用逆推这个方法,而是使用逆序数的奇偶性来判断的
博主在之前对于拼图的认识并不是很丰富,很不擅长,并不知道拼图原来存在无解的情况
例如 2 * 2 的拼图,如下的情况,0为空白位的话,不能移动成第一行0,1,第二行2,3
1 | 0 |
3 | 2 |
(无解)
参照http://blog.csdn.net/tailzhou/article/details/3002442
获取方法,只要将0位即空白位移到左上角,然后将其转为数列,然后判断奇偶性即可得知是否有解
拼图源码下载地址: http://download.csdn.net/detail/luckydog2479/6792501
ios 制作手机端拼图游戏及衍生的其他内容相关推荐
- Unity制作手机端VR第一步
基于Unity制作手机端VR小游戏 我并非专业人员,写文章目的在于分享和请教: 1.指针与射线的创作 调整好大小颜色,简单的准星就制作好了. 2.下面利用C#制作射线,我个人认为这是很重要的部分,需要 ...
- html通过自适应制作手机端音乐播放器
html通过自适应制作手机端音乐播放器 实现效果: 实现思路: 1.布局: (1).将手机的宽度进行10等分 为10rem (2).通过rem定义各个元素的宽高.间距.字体大小 (3).通过CSS3 ...
- 网页制作 手机端与PC端兼容
网页制作--手机端与PC端兼容 手机端与PC端使用一套代码时,随屏幕分辨率的大小变化,会产生媒体查询并实现手机端与PC端的切换 (一套代码) <meta http-equir="Cac ...
- ps制作手机端网页字体大小_制作网页的最佳字体大小
ps制作手机端网页字体大小 To make web content work, text on a page must be readable for all visitors. Following ...
- 西安网站制作手机端的优化方法有哪些?
西安网站制作手机端的优化方法,实际上是很简单的,无论是做移动手机端还是PC端的优化,我们在应该搞清楚的就是搜索引擎的排名规则,否则你将会是在毫无章法的运营. 移动端可以根据代码结构分为跳转适 ...
- Dreamweaver制作简易的拼图游戏教程
一. 如果您的电脑中没有Dreamweaver 8可以先下载一个,这是下载地址:http://www.skycn.com/soft/458.html 自己电脑里有直接打开就可以了.这个软件挺好用的,我 ...
- 【学习】如何制作手机端html模板(REM的实际应用)
以前制作手机页面时,总是很迷茫,不知从何着手,页面也不知如何处理.会用一些百分比啊,媒体查询啊,还有就是目测了,但是各种手机端的屏幕适配是个老大难的问题,没有做到百分百兼容的.自从发现了rem这个好东 ...
- 手机端能学习html吗,【学习】如何制作手机端html模板(REM的实际应用)
以前制作手机页面时,总是很迷茫,不知从何着手,页面也不知如何处理.会用一些百分比啊,媒体查询啊,还有就是目测了,但是各种手机端的屏幕适配是个老大难的问题,没有做到百分百兼容的.自从发现了rem这个好东 ...
- 安卓+ios系统--手机端页面自适应手机屏幕大小,禁止手动放大和缩小VUE
项目需求 手机端,页面自适应手机屏幕大小,不能手动放大和缩小. 1.代码 在index.html中加入下面的代码: <!-- 手机端页面自适应手机大小,禁止手动放大 --> <met ...
最新文章
- R语言curve绘图函数
- 使用Javascript获取图片坐标以及宽度高度的方法
- laravel扩展包开发步骤总结
- Eclipse没有的工程原型或模板创建maven失败
- svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
- html编码自动识别,vi设置自动识别各种编码
- 【NOIP】OpenJudge - 15:银行利息
- HWUI(硬件加速绘制UI)简介
- 【Mimics】基于心脏ct影像重建3d模型 孔洞修复平滑处理 及 合并导出
- PC常见故障及解决思路汇总(系统方面)
- 开源直播推流sdk_携程移动直播探索
- 究竟什么是token??
- 手机内存文件夹html,手机内存难清理?试试直接删掉这3个文件夹,网友:咋不早说?...
- Win10系统打开共享文件提示没有权限使用网络资源怎么处理
- python里的百分号_python中的百分号
- [适合小白的Linu基础入门教程一
- cad转pdf格式怎么设置线宽
- jsp简介及工作原理
- DataFrame写入mysql时报错Duplicate entry ‘...‘ for key ‘PRIMARY
- 如何更改html的默认应用,win10更改默认打开程序设置方法_win10怎么更改应用默认打开方式-win7之家...
热门文章
- 笨方法学 python3 豆瓣_python3 爬虫学习:爬取豆瓣读书Top250(一)
- 对应生成树的基本回路_远程团圆数学题库答(08秋格局)北大.doc
- 我们渴望自由,可思想被束缚在肉体,这可怎么办?
- jQuery阻止事件冒泡
- 2017年浙江理工大学程序设计竞赛校赛 题解源码(A.水, D. 简单贪心 ,E.数论,I 暴力)...
- Thinkpad T460P安装win7
- Springboot笔记(6):Springboot数据访问/雷神
- 使用Pitstop批量删除pdf中书页上方和下方的文字
- oppo reno2 z可以升级鸿蒙吗,OPPO Reno2 Z评测:除了潮流高颜值的外观,还有4800万夜拍四摄...
- 机器人的避障常用方案