unity4.3的2d,是在3d中用正交投影实现的。投影不是重点,重点是增加了2d的物理组件,提供2d的碰撞和物理支持。

场景分层

2d的场景构建讲究分层,不同的对象分布到不同的层中,方便管理。

一般说来分5层

  1. 静态背景层。静态的远景,然后云,水,雾气等可以做一个缓慢的循环动画。
  2. 动态背景子物体。飞鸟,小动物,小植物等偶尔出现的对象,但是不和游戏交互。
  3. 静态前景层。和游戏发生实际交互的地面,墙和物体,是实际的关卡内容。这些物体一般要设定碰撞多边形和物理材质。
  4. 游戏对象层。玩家,怪物等活物。
  5. UI层。界面和粒子等。

要快速做原型,主要是集中力量做操作逻辑,前景层,游戏对象逻辑和粒子表现。

动画技术

骨骼动画编辑器

unity4.3内置了2d骨骼动画编辑器,所谓骨骼动画就是子部件的移动缩放和旋转。内置的编辑器可以所见即所得的编辑角色的各种动画。

原始的精灵动画,也作为骨骼动画的一种特殊表现形式出现。

动画融合

为不同的两个动画同时播放提供基于权重的融合支持,比如一边跑一边开枪,可以是跑和开枪两个动画的融合。

动画切换状态机

以前从一个动画向下一个动画切换的时候,需要用代码详细控制。unity4.3内置动画状态编辑器,让动画切换规则可见,并且定义了一些基本的切换规则,可以无需代码实现动画的自动切换。

至于需要代码控制的切换,只需调用SetTrigger

其他

UI控件

GUITexture和GUIText

声音

AudioSource

线程

过一阵再做一件事情,可以用SetDelay,也可以用StartCoroutine

时间控制

Time.timeScale


相比之下,cocos2dx显得落后很多。落后的原因,我觉得差不多是两块:收益和技术。

感觉cocos2dx做引擎没能挣什么钱,靠的是前台的游戏养活。收益不足的话,怎么补充人员开发更丰富的工具呢。光靠开源代码,是没法和unity这种工具抗衡的。

另一块是技术。现有的开发者技术很强,但是收益不足的话,无法吸引更多技术强力的开发者进来,为cocos2dx提供更强的动力。