建立
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(),可選
最基本的**:
#ifndef _gamelayer_h
#define _gamelayer_h
#include "cocos2d.h"
class gamelayer : public cocos2d::layer
;#endif // _gamelayer_h// gamelayer.cpp
#include "gamelayer.h"
using_ns_cc;
// 建構函式,如有物件成員,需要在此初始化
gamelayer::gamelayer()
{}// 析構
gamelayer::~gamelayer()
{}//虛函式,初始化,當執行本類的create()函式時會被自動呼叫
bool gamelayer::init()
// scene的入口,通過該函式進入layer
scene* gamelayer::createscene()
進入// 直接進入
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)
void gamelayer::startgame()
cocos2d x 3 x 觸控響應
3.x需要自己註冊監聽事件。有兩種方式,乙個是用c 的bind繫結自定義函式,cocos2d x封裝了一下,提供了介面 cc callback 數字,數字代表引數個數。eventlistener需要兩個引數 touch 和 event 所以這裡使用的是cc callback 2 auto dispa...
cocos2d x 3 x記憶體管理
記憶體管理有ref提供的4個方法 void retain 將該物件的引用計數器 1 void release 將該物件的引用計數器 1 ref autorelease 不改變物件的引用計數器值,將物件新增到自動釋放池,返回物件本身 unsigned int getreferencecount con...
Cocos2dx 3 x多點觸控問題
首先,這並不是什麼教程。只是今天折騰了一天的乙個比較傻的問題。3.x的eventlistener想必各位已經都會了。toucheventallatonce是多點觸控,但幾乎沒什麼人用過。用法不難,但是很多人和我一樣卡在了無論怎麼搞touches的數量都只有一,換句話說,就是死活單點觸控。搜了很多論壇...