Cocos2dx 3.x创建Layer的步骤
生活随笔
收集整理的這篇文章主要介紹了
Cocos2dx 3.x创建Layer的步骤
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建
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.hprivate:// 聲明void gameStep(float dt); // GamaLayer.cpp// 實現 void GameLayer::gameStep(float dt) {//bg->move(); } void GameLayer::startGame() {// 調用this->schedule(SEL_SCHEDULE(&GameLayer::gameStep), 0.02f); }
總結
以上是生活随笔為你收集整理的Cocos2dx 3.x创建Layer的步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: workgroup无法访问。您可能没有权
- 下一篇: Mixly(米思齐)的安装以及实现光控小