入 门(11)

  

注意:

在iOS设备上不能以高于60fps的帧率进行渲染,因为设备的屏幕刷新率被锁定为最高60fps。如果强迫cocos2d以高于60fps的帧率进行渲染,那么在最好情况下,cocos2d会以60fps的帧率进行渲染;而在最坏情况下,它的帧率反而会下降。所以,如果想让cocos2d以最快速度进行渲染,应把动作间隔参数设为1.0/60。

显示帧率

启动帧率的显示功能以后,在屏幕的左下角会出现一个小小的数字。这就是应用程序的帧率,或者说是每秒刷新的帧数。理想状况下,游戏应该始终以60fps的速度进行刷新,尤其当游戏是个动作类游戏的时候。有些游戏,例如拼图,则可以恒定在30fps。通过显示帧率,你可以对游戏的帧率进行实时检测,注意观察是否存在问题。

注意:

如果需要调整显示帧率的反应速度,可以在ccConfig.h文件中修改CC_DIRECTOR_ FPS_INTERVAL代码行。该文件位于cocos2d Sources/cocos2d组中。该值默认为0.1,即在默认情况下,表示帧率的数字会在每秒被刷新10次。如果增大该值,那么小数字就会被刷新得更慢,虽然这个变化不明显,但还是存在的。

HelloWorldScene类

HelloWorldScene类中的代码是真正用于显示“Hello World”标签的。在介绍这些内容之前,你应该了解cocos2d采用了多个层级的CCNode对象来决定在什么地方显示什么内容。

所有节点的基类都是CCNode,它包含一个位置属性,但没有视觉上的显示。它是其他所有节点类的父类,包括最基本的CCScene类和CCLayer类。

CCScene类是一个抽象概念,它仅用于根据对象的像素坐标把对象放置到场景中正确的位置。所以,CCScene节点通常是整个cocos2d场景体系的根节点。

CCLayer类本身几乎没有什么功能,但它可用于接收触摸和加速计输入。它常被用作CCScene的第一个子节点,因为每个游戏至少都会使用触摸输入的功能。

打开HelloWorldScene.h头文件,你会看到HelloWorld类派生自CCLayer类。

由于CCScene类是一个抽象概念,因此创建场景的默认方式是通过类中的静态初始化方法“+(id)     scene”来完成的。该方法创建了一个普通的CCScene对象,并把HelloWorld类的一个实例添加到刚创建的CCScene对象中。CCScene几乎永远都是用这种方式创建并使用的。下面列举一个通用的“+(id) scene”方法示例

+(id) scene {

CCScene *scene = [CCScene node];

id node = [HelloWorld node];

[scene addChild:node];

 

return scene;

}

读书导航