Spritekit 转 Unity2D 上手指引

感谢你们一直以来的关注,十分惭愧没有更新unity2D的教程,后续打算抽时间更新一组游戏开发和UI开发的教程,敬请期待!node

群里和你们讨论unity适不适合作2D游戏的问题,有个好心的朋友说给你们说说转unity要注意什么问题吧!我以为这个话题很好,可是我充其量也只算个熟手,瞎扯几句,但愿对你们有帮助吧。xcode

unity2D vs spritekit的开发理念差别:

动画

spritekit是标准的cocos模式,纯代码开发,全部的素材用代码加载,组合,调用。不论是帧动画仍是变换动画,都是用代码来控制。并且内置了不少变换动画函数,好比位移,缩放,旋转等。
unity中,帧动画都是拖拽实现,很是的方便,并且带动画编辑器和控制器,简单的动画都无需任何代码。可是unity中不具有内置的变换动画函数,还好有iTween组件能够很方便的实现出来。编辑器

脚本

spritekit中是标准的软件开发模式,代码为核心,定义各类类来控制各类对象的全部行为,一个load初始化全部资源,而后update函数撑起一片天,这个我我的以为主要仍是由于受到xcode这个对游戏开发不友好的工具的限制。
unity中是脚本化和组件化,以游戏对象GameOjbect为核心,脚本只能算做辅助的组件之一,一切都以编辑器为主。一个场景加载好之后,全部的GameObject各自作各自的初始化和各自的update,彼此不互相干扰,很是清晰。这也是我偏心unity的缘由之一,在spritekit中全部的对象全都在场景类中彼此交错,很是难拆分。函数

树形结构

这其实算是惟一的相同点了,spritekit中用node来管理对象结构,建立/销毁/设置父节点等,都是用代码来完成。用代码的弊端很明显,就是不直观,你每次都要去看代码才知道两个node是什么关系。
unity中,有树形面板,全部对象都清晰的标明了父子关系,随手截了一个我当前项目的面板,连美术都能看懂的树形图,好用到爆,麻麻不再怕我挂错父节点了。
图片描述工具

资源管理

spritekit中,主要是用xcode管理素材,众所周知xcode对资源管理是多么的不友好,导入还要import,删除还要remove reference,还不能看缩略图,对图集的拆分也很不方便。
unity中有个project面板,里面全部资源均可以用预览图模式查看,并且像finder同样能够拖拽添加和删除任何资源,甚至还能够查看该资源在当前场景的全部引用。prefab就更是一个逆天的东西,能够快速方便的建立相似的GameOjbect,至关于一个模具,不须要每次都初始化其属性。组件化

总结

其实要真是对比的话,说一天也说不完,这些是我最早想到的,应该是比较常见的一些sk的问题unity可以弥补的。说了这么多好像都是sk的锅,其实sk也有本身最大的优点:执行效率和包尺寸。这两个是unity的硬伤,并且unity目前是无解的。sk空项目打包后大概8MB没记错的话,unity空项目打包20-30MB左右吧。并且不少unity游戏都有发热严重的问题,sk跑60帧是无压力的。虽然unity有很逆天的Editor模拟器,可是sk打包速度超快,build到真机也是十分的方便。动画

unity更新到5.3之后,libiPhone这个最核心的库已经达到了1GB以上,打包出的游戏体积直接翻了一倍(官方说是由于苹果最近强制App必须支持32和64位处理器),让人十分怀念sk的日子啊。萝卜白菜各有所爱,你们仍是根据须要选择吧!ui

相关文章
相关标签/搜索