学习框架级应用,应该先搞懂它宏观上面向对象结构,面向对象面向对象自然得先从对象入手,抛开游戏引擎本身的规范,从C++的角度来看一个类
这里是我们自己定义的MenuScene类,用于实现场景
/*场景更多是一个宏观概念,微观上场景是由多个布景层组成的,
所以在构建场景时,一般选择直接继承布景层Layer*/
class MenuScene : public cocos2d::Layer{
public:
//获得场景对象,cocos2dx内部通常用静态方法来返回对象指针
static Scene* creatScene();
//重写Layer里的init()函数初始化布景层
virtual bool init();
//内部生成一个布景层的create()函数
CREATE_FUNC(MenuScene);
};
这是一个最最最基础的场景场景类声明
我们看看这个类里的每个部分的实现
Scene* MenuScene::creatScene() {
//创建一个Scene对象,也就是场景类对象
auto menuScene = Scene::create();
//创建一个MenuScene对象,通过继承官方的Layer,来实现我们自己的布景层
auto layer = MenuScene::create(