第一款iOS游戏,类橙光

1.jpg
2.jpg
3.jpg
4.jpg
5.jpg

1.做的第一款游戏终于上线了 功能虽然不多,但确实耗费了许多心血,这是一款类橙光游戏.中间许多功能都是从前未尝试过的,最早打算使用cocos2dx ,不过后来想想还是算了. 最终决定用oc来写,期间遇到很多坑,都是一点点来想出来的.最后成型时发现其他游戏也是这么实现的多多少少还是有些成就感.
首先关于剧本 ,cocos2dx 关于游戏人物对话剧本都是用json实现的,可是我们剧本太长,后台还有分数计算走不同剧情,所以想到直接用txt文档,剧本第一个坑就是编码,有的txt文件并不是Unicode编码导致读取出现乱码,更坑的有时编译前根本没法发现,最后通过终端发现编码不对 其实用json完全可以避免,其次剧本字数显示使用的是定时器,这其中关于定时器注销和数组越界非常不好处理.
2.人物显示和场景切换也非常头疼,从剧本读取出人物场景文件,添加大量判断,最后也没想好怎么优化,图片赋值也不是常用方式,因为图片太大 加载进内存当切换时不会立即释放从而导致内存暴涨.程序闪退.最后采用
[[UIImage alloc] initWithContentsOfFile: [[NSBundle mainBundle] pathForResource:imageString ofType:@"jpg"]];的方式,直接在目录中读取并不加载进内存.
3.关于存档.由于轻量级存储并且游戏不需要登录,所从开始就考虑用NSUserDefaults来存储,
不过NSUserDefaults限制过多,况且我还有存储历史对话和屏幕截图 最终用对象签订nscoding协议来解决NSUserDefaults限制过多问题.由于多界面存在读取入口,为了避免循环引用最终考虑提取单例.
关于添加友盟统计,因为文件已经成型采用hook监听viewdidload方法来进行统计.
4.关于单击界面文字显示结束,双击跳过,并且文字显示结束直接单击跳过.采用的方法就是用三个bool变量,通过bool值来控制文字显示.这其中会影响快进和自动时的定时器,采取办法就是点击自动和快进就关闭点击方法.
5.关于设置菜单,为了保证时效性采用通知中心来控制音乐播放和字速显示.
其他的还有很多,说起来很简单不过做起来确实费点劲.因为没有经验所以所有的坑都得自己去试,纪录一下吧.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,065评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 封装这个sql自动生成的类库目的是,之前项目数据库中的数据表字段非常多,本人既不喜欢写存储过程,又厌烦这些繁多的数...
    宋大肿阅读 6,803评论 47 85
  • 初冬入夜寒风起,路灯清冷行人稀。 十字街口火苗簇,思亲勿忘送寒衣。 可叹黄泉难相见,灰烟旋处悲遥寄。 只恨天人相隔...
    玥芙阅读 309评论 0 0
  • 你是一匹狼,从亘古而来 带着风沙,带着烈焰,带着日的光、月的影和星星的感召 从亘古跋涉而来 经过我的身旁,向亘古蹇...
    桑麻阅读 434评论 0 6