导演Director、场景Scene、布景层Layer、精灵Sprite
导演控制场景,场景控制图层,图层控制精灵,精灵控制动作
(1)整个游戏一般只有一个导演。
(2)一个游戏可以由多个场景组成(菜单界面、游戏界面、游戏结束界面等),但是每次导演只能指导一个场景的运作。
(3)一个场景可以由多个图层组成(背景层、道具层、英雄层、怪物层等,每个图层都可以由多个精灵元素组成(标签、按钮、菜单等)。
(4)对于图层上的每个精灵元素,一般都附带相应的动作,可以带多个动作。如挥刀、使用魔法、跑、跳,以及放大、缩小、旋转等动作。
Director:在这里负责的就是让不同的场景切换,控制整个游戏的流程,包括开始,继续,暂停等。以及设置、获取系统信息,比如调整OpenGL相关的设置,获取屏幕的大小等。和Scene、Layer、Sprite等不同的是,导演类Director是直接继承Ref类的,而不是Node类。
Scene:是继承与Node类的。作为场景类,它却只有函数create。因为场景就像是一个容器,将不同的布景层(Layer)组合在一起,方便管理。一个游戏会有很多的场景,比如,主界面,游戏界面,载入界面等等都是一个场景。而每一个场景都是由多个图层组合在一起,形成一个完整的游戏画面。
Layer:继承于Node。Layer不仅继承了CCNode的所有操作,还附加触控、重力加速度计、支持键盘输入的事件代理。一个布景层(Layer)可以包含多个元素,如标签(Label)、菜单(Menu)、精灵(Sprite)等等。
注意:Layer的锚点默认为(0,0),即左下角。并且忽略锚点的设置,即使你setAnchorPoint了锚点,Layer的锚点也不会改变,依然是(0,0)。
Sprite:精灵说简单一点,其实就是一个2D的图片。并赋予图片各种属性以及特性。如大小、颜色、放缩、旋转、动作等。精灵一般都是放在布景层(Layer)上面的,即一个布景层(Layer)应当有许多的精灵存在。精灵可以用来当做背景、人物、鸟、白云等内容。
Sprite不仅继承了Node,还继承了纹理协议接口TextureProtocol。
TextureProtocol纹理协议接口主要是负责纹理图片的管理。
注意:精灵的锚点默认为(0.5,0.5),即中心点。