Cocos2d游戏开发基础:场景、层与过渡效果详解
1. 优先级更新
在游戏开发中,有时需要对更新方法进行优先级排序,比如确保物理模拟更新前后的特定操作,或者保证在所有游戏对象更新后再检查游戏结束条件。不过,在遇到特定问题之前,可以先忽略优先级更新。因为每次调用优先级更新方法都会增加一点开销,毕竟方法需要按特定顺序调用。
常见的优先级更新实现方式是通过一个中心对象,按照期望的顺序将更新方法转发给其他对象,示例代码如下:
-(void) update:(ccTime)delta
{
[inputHandler update:delta];
[player update:delta];
[enemies update:delta];
[physics update:delta];
[networkData update:delta];
[userInterface update:delta];
}
这种方法的好处是便于选择性暂停某些对象。例如,要暂停游戏但允许在暂停菜单上接收用户输入,可单独更新各层。若游戏暂停,除显示暂停菜单的层外,不向其他层转发更新消息。
2. 导演、场景和层
CCScene和CCLayer类与CCNode一样,没有可视化表示,它们是场景图的抽象概念。CCScene是场景中所有其他节点的容器,CCLayer通常用于将节点分组,以维持多层之间的正确绘制顺序,还可接收iOS设备的触摸和加速度计输入,以及Mac OS X的鼠标和键盘输入。
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



