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的设计中,通常将这种情况以标记的方式避免迭代破坏。例如,作以“需要被删除”的标记,在此次迭代之后,再清理被标记的定时器。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...