cococos 2 d-Xにおけるscheduleの各種使用
3159 ワード
マルチスレッドタイマ
タイトルの濃霧は実はマルチスレッドを話していません
(cococos 2 d-Xゲーム開発の旅第8章読書ノート)
cococos 2 d-Xにおけるscheduleの各種使用
私が言ったのはこれだと思います.
HelloWorld.cppでのinit関数の書き換え
HelloWorld.h
次にupdate関数を書き換えます
自分でupdate関数を書く
ヘッダファイルに関数を追加
関数定義の最後に文を追加
scheduleOnce
使用法
オブザーバモード
毎章のタイトルは本当に人の子弟を誤るのですね. addObserver(購読メッセージ)パラメータ:CCObject*target-メッセージを購読するマスターSEL_CallFuncO selector-メッセージコールバック関数const char*name-メッセージ名CCObject*obj-転送するデータ removeObserver(購読解除メッセージ)パラメータ:CCObject*target-購読解除メッセージの本体const char*name-メッセージ名...など、この本のバージョンは本当に古いです.3.Xの中にCCNotificationCenterはもうありません.EventListenerCustomの代わりに、API を詳しく見に行きます.
タイトルの濃霧は実はマルチスレッドを話していません
(cococos 2 d-Xゲーム開発の旅第8章読書ノート)
cococos 2 d-Xにおけるscheduleの各種使用
私が言ったのはこれだと思います.
HelloWorld.cppでのinit関数の書き換え
bool HelloWorld::init(){
bool bRet = false; // 。。
do{
this->scheduleUpdate();
bRet = true;
}while(0);//
return bRet;
}
HelloWorld.h
class HelloWorld:public cocos2d::CCLayer{
public:
virtual bool init();
static cocos2d::CCScene* scene();
void menuCloseCallback(CCObject* pSender);
CREATE_FUNC(HelloWorld);
/* update */
virtual void update(float dt);
};
次にupdate関数を書き換えます
void HelloWorld::update(float dt){ CCLOG("update");// update }
自分でupdate関数を書く
void HelloWorld::myUpdate(float mydt){
CCLOG("%f",mydt);
}
ヘッダファイルに関数を追加
this->schedule(schedule_selector(HelloWorld::myUpdate),1.0f);
// , 1
関数定義の最後に文を追加
this->unschedule(schedule_selector(HelloWorld::mydate));
//
scheduleOnce
使用法
this->scheduleOnce(schedule_selector(HelloWorld::mydate),3.0f);
/* , (Once 。。)*/
オブザーバモード
毎章のタイトルは本当に人の子弟を誤るのですね.