Cocos2d-x笔记记忆整理Day2

首先,游戏可以抽象为不断地重复“处理用户输入”->“处理定时事件”->“绘图”这三个动作,从而保持游戏进行下去,直至玩家退出游戏。 

1.CCDirector: 控制游戏流程的总管类,提供绘图方面的选项以及平台相关的功能。以上提到的三个动作,均包含在CCDirctor的方法中。而引擎会根据不同的平台设法使系统不断地调用这个方法,从而完成了游戏的主循环。

2.CCScene: 场景的实现类,是层的容器。

3.CCLayer: 层的实现类,是精灵的容器。层还可以用来接受用户输入,例如触摸事件和加速度计事件。

4.CCSprite: 精灵的实现类,显示一个静态或动态的图形。图形在引擎中以纹理的形式存在,精灵可以完整或部分地显示纹理。

5.CCNode: 一切游戏元素的根类,也是构成渲染树的节点。它提供了基本的绘图属性,可以作为其他节点的容器,提供定时器的功能,可以执行动作。

6.CCMenu: 特殊的层,封装了游戏中常用的菜单功能。

7.定时器: 分为update定时器与schedule定时器,前者每一帧触发一次,而后者可以指定触发间隔。定时器由定时调度器(CCScheduler)控制,每个定时器互不干扰,串行执行。 

PS:事件驱动的普通定时器调用顺序为:系统的主循环调用CCScheduler的update方法,
CCScheduler的update方法中调用CCTimer的update方法,CCTimer的update方法中调用定时器对应的回调函数。因此当回调函数触发的时刻,CCScheduler的update方法正处于迭代之中,开发者若此时停止或启用其他定时器,将导致CCScheduler的update方法被破坏,这是开发者所不希望看到的。Cocos2d-x的设计中,通常将这种情况以标记的方式避免迭代破坏。例如,作以“需要被删除”的标记,在此次迭代之后,再清理被标记的定时器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值