Cocos2dx 3.x创建Layer的步骤
发布时间:2020-12-14 19:14:30 所属栏目:百科 来源:网络整理
导读:创建 1、新建类文件。注意目录为Classes下,否则文件不能正常找到。 2、修改预编译头。如用VS,默认为#pragma once,为了兼容,改为#ifndef | #define | #endif 3、添加cocos2d.h头文件 4 、继承cocos2d::Layer,默认为private继承,通常需要改为public继承
创建 1、新建类文件。注意目录为Classes下,否则文件不能正常找到。 2、修改预编译头。如用VS,默认为#pragma once,为了兼容,改为#ifndef | #define | #endif 3、添加cocos2d.h头文件 4、继承cocos2d::Layer,默认为private继承,通常需要改为public继承。 5、添加init()和CREATE_FUNC() 6、实现init() 7、添加createScene(),可选 最基本的代码:
//GameLayer.h #ifndef _GAMELAYER_H #define _GAMELAYER_H #include "cocos2d.h" class GameLayer : public cocos2d::Layer { public: GameLayer(); ~GameLayer(); public: virtual bool init(); CREATE_FUNC(GameLayer); public: static cocos2d::Scene* createScene(); }; #endif // _GAMELAYER_H // GameLayer.cpp #include "GameLayer.h" USING_NS_CC; // 构造函数,如有对象成员,需要在此初始化 GameLayer::GameLayer() {} // 析构 GameLayer::~GameLayer() {} //虚函数,初始化,当执行本类的create()函数时会被自动调用 bool GameLayer::init() { bool bl = Layer::init(); // 加入内容 return bl; } // Scene的入口,通过该函数进入Layer Scene* GameLayer::createScene() { auto scene = Scene::create(); auto layer = GameLayer::create(); scene->addChild(layer); return scene; }进入 // 直接进入 auto layer = GameLayer::createScene(); Director::getInstance()->replaceScene(layer);
// 特效进入 auto layer = GameLayer::createScene(); auto slidein = TransitionSlideInL::create(1.0f,layer); Director::getInstance()->replaceScene(slidein);
// 进入特效完之后才发生 //声明虚函数 virtual void onEnterTransitionDidFinish();添加定时器 // GameLayer.h private: // 声明 void gameStep(float dt); // GamaLayer.cpp // 实现 void GameLayer::gameStep(float dt) { //bg->move(); } void GameLayer::startGame() { // 调用 this->schedule(SEL_SCHEDULE(&GameLayer::gameStep),0.02f); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |