上QQ阅读APP看书,第一时间看更新
3.3 场景类
CCScene类是CCNode的子类。和CCNode相比,它只是添加了一个特性,那就是拥有自己的锚点,位置在屏幕的正中央。除此之外,它目前还没有额外的功能,只是一个抽象的概念。
3.1节中介绍CCNode类时,把屏幕上所有显示对象的父节点设置为我们定义的节点,这个父节点的角色一般由场景承担。CCScene类的继承关系如图3-9所示。
可以看到,CCScene类有CCTransitionScene(切换场景类),并且CCTransitionScene类有很多子类,这些类都用于切换场景的特效,将在本节的后半段介绍。
图3-9 CCScene类的继承关系
注意 游戏通常都会出现这种情况,当切换场景时,程序会由于旧场景的内存没有释放并且新场景已经载入,出现短暂的“峰值”,但是不必为此而做额外的工作,因为Cocos2D-x引擎会清除旧场景的内存。但是要注意,正确使用内存的保留与释放(这点会在后面介绍),尤其是使用场景切换特效的时候,你要做的工作是尽早上机测试和合理的内存使用。
下面来看CCScene类在游戏中的使用和场景切换特效。