cocos2d x之三種定時器的使用

2021-06-22 15:01:35 字數 1483 閱讀 4082

定時器:可以讓某個函式不斷地去執行或者只執行一次,或者讓它每隔幾秒執行一次,cocos2d-x為我們提供了三種定時器,分別是schedule,scheduleupdate,scheduleonce.

其功能特點如下:

1、scheduleupdate

加入當前節點後,程式會每幀都會自動執行一次預設的update函式。(注:一定是update函式哦,若想呼叫其他自己命名的函式則使用schedule)

首先在helloword類的標頭檔案中宣告update函式:

void

update(

float

dt);   //引數為float型別

然後在helloworld類原始檔中實現函式update:

void

helloworld::update(

float

dt)    

現在我們可以呼叫了,在需要他不斷執行的地方加入呼叫的**就ok:

this

->scheduleupdate();     

//this是當前節點,如layer,所以可以省略啦。

執行之後你將會看到不斷有baibai被列印出來

2、scheduleupdate

可以沒隔幾秒執行某個自定義的函式,來看**:

首先還是在helloworld中宣告所要執行的函式:

void

move(

float

dt);  

然後在原始檔實現:

void

helloworld::move(

float

dt)    

現在去執行他,注意引數哦

scheduleonce(schedule_selector(helloworld::move), 1.0f); 

//每隔1.0f執行一次,省略引數則表示每幀都要執行

執行之後,****vs每隔1.0f才會被列印一次。

3、scheduleonce

功能:在幾秒之後執行,並且只會執行一次。

我們就執行上面所

寫的move函式吧。

this

->scheduleonce(schedule_selector(helloworld::move), 1.0f); 

//在1.0f之後執行,並且只執行一次。

執行一下,****vs只是被列印了一次就完了

1、停止執行自己定義的函式定時器:

this

->unschedule(schedule_selector(helloworld::move));  

2、停止預設定時器:

this

->unscheduleupdate();  

3、停止所有定時器:

this

->unscheduleallselectors();  

cocos2d x之三種文字

cocos2d x為我們提供了三個類來處理文字資訊 1.cclabelttf 2.cclabelbmfont 3.cclabelatlas 1.cclabelttf cclabelttf plabel cclabelttf create vs arial 30 要顯示的內容,字型,字型大小 這裡也可...

cocos2d x 關於定時器

定時器的作用就是每隔一段時間,就執行一段自定義的動作,比如飛機向前方移動,子彈的移動等等。該函式定義在ccnode標頭檔案中,基本上cocos2dx中所有的東西都能夠使用定時器。第一種 scheduleupdate 預設定時器 該定時器開啟函式與update 函式配套使用,update方法是每一幀執...

cocos2dx定時器事件

update定時器 schedule定時器 其他事件 除了定時器會不斷地提供觸發事件外,cocos2d x還為我們提供了一些其他與流程控制相關的事件 方法名稱 描述 onenter 當此節點所在場景即將呈現時,會呼叫此方法 onentertransitiondidfinish 當此節點所在場景的入場...