每次新建工程之后,系统都会为我们生成HelloWorldScene.cpp场景类,
这篇文章就是如何新建自己的类代替原有的类。
新建自己的类:
SpriteScene.h
#ifndef SPRITE_SCENE_H
#define SPRITE_SCENE_H
#include "cocos2d.h"
class SpriteScene : public cocos2d::Layer {
public:
static cocos2d::Scene *createScene();
virtual bool init();
// implement the "static create()" method manually
CREATE_FUNC(SpriteScene);
};
#endif
SpriteScene.cpp
#include "SpriteScene.h"
USING_NS_CC;
Scene *SpriteScene::createScene() {
auto scene = Scene::create();
auto layer = SpriteScene::create();
scene->addChild(layer);
return scene;
}
bool SpriteScene::init() {
if (!Layer::init())
return false;
return true;
}
这是建立场景类最基本要素, createScene函数创建场景,后面需要在AppDelegate.cpp中调用。
init函数首先初始化父类Layer,为什么要初始化,现在还不需要关心。
在AppDelegate.cpp中增加头文件
#include "SpriteScene.h"
调用创建场景
// create a scene. it's an autorelease object
auto scene = SpriteScene::createScene();
进行编译运行的效果: