您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)cocos2dx調(diào)度器scheduler怎么用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
調(diào)度器(scheduler)是主要是為游戲提供定時(shí)事件和定時(shí)服務(wù)。常常用來游戲的一些定時(shí)處理的功能,例如一些邏輯判斷,碰撞檢測(cè)等。
Cocos2dx提供了三種常用的調(diào)度器(scheduler)來讓我們使用。
默認(rèn)調(diào)度器使用Node的刷新事件update方法,該方法在每幀繪制之前都會(huì)被調(diào)用一次。由于每幀之間時(shí)間間隔較短,所以每幀刷新一次已足夠完成大部分游戲過程中需要的邏輯判斷。
我們?cè)谑褂媚J(rèn)調(diào)度器(schedulerUpdate)時(shí)候,需要重載Node的update方法來執(zhí)行自己的邏輯代碼。如果需要停止這個(gè)調(diào)度器,可以使用unschedulerUpdate()方法。
使用時(shí)候首先在.h文件里重寫update方法:void update(float dt) 。
在調(diào)用的地方直接使用scheduleUpdate()方法調(diào)用update的實(shí)現(xiàn)。
有時(shí)候引擎自帶的調(diào)度器并不適合我們的需要,所以需要自己定義調(diào)度器。而cocos2dx則提供了此方法。
schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay)
第一個(gè)參數(shù)selector即為你要添加的事件函數(shù)。
第二個(gè)參數(shù)interval為事件觸發(fā)時(shí)間間隔。
第三個(gè)參數(shù)repeat為觸發(fā)一次事件后還會(huì)觸發(fā)的次數(shù),默認(rèn)值為kRepeatForever,表示無限觸發(fā)次數(shù)。
第四個(gè)參數(shù)delay表示第一次觸發(fā)之前的延時(shí)。
Cocos2d-x同樣提供了單次調(diào)度器,只進(jìn)行一次調(diào)度。
scheduleOnce(schedule_selector(HelloWorld::updateOnce), 0.1f);
這里我用LaberTTF來實(shí)現(xiàn)一個(gè)數(shù)字每次+1自增長(zhǎng)的默認(rèn)調(diào)度器,來動(dòng)態(tài)改變LabelTTF的值。
看完上述內(nèi)容,你們對(duì)cocos2dx調(diào)度器scheduler怎么用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。