【Cocos2d-x】ループ(タイマー)処理
【Cocos2d-x】ループ(タイマー)処理について
特定のメソッドを連続で呼び出したい時、遅延させて呼び出したい時はscheduleを使います。
void roop(float dt); virtual void update(float dt);
void HelloWorld::roop(float dt) { log("呼び出し"); } void HelloWorld::update(float dt) { log("update"); }
上記のメソッドを用意して、
//毎フレームHelloWorld::roopを呼び出したい時 this->schedule(schedule_selector(HelloWorld::roop)); //毎フレームHelloworld::updateを呼び出したい時 this->scheduleUpdate(); //秒毎にHelloWorld::roopを呼び出したい時 this->schedule(schedule_selector(HelloWorld::roop), 1.0f); //3秒後にHelloWorld::roopを1回だけ呼び出したい時 this->schedule(schedule_selector(HelloWorld::roop), 1.0f); //5秒後に1秒毎にHelloWorld::roopを7回呼び出したい時 this->schedule(schedule_selector(HelloWorld::roop), 1.0f, 10, 5.0f);
scheduleを途中で止めたい場合、
//HelloWorld::roopのscheduleを止める時 this->unschedule(schedule_selector(HelloWorld::roop)); //updateを止める時 this->unscheduleUpdate(); //全てのscheduleを止める時 this->unscheduleAllCallbacks();
今回は以上です。
この記事へのコメントはこちら