天天看點

Cocos2d中update與fixedUpdate的差別(六)

它如何工作呢?

update:和fixedupdate:方法實際這樣工作.

cocos2d将從ios接口中取得時間間隔(delta)在你的遊戲代碼執行期間,并且檢查fixedupdate:方法在間隔期間應該被調用多少次.然後cocos2d調用fixedupdate:方法需要的次數.

換句話說,它隻是将時間間隔分割成均勻的小塊,然後再在每個小塊中調用fixedupdate方法.這就是為什麼傳遞給fixedupdate:方法的delta參數總是一個常量,并且該值被設定為ccsetupfixedupdateinterval配置選項.

然後,在調用fixedupdate所需的次數之後,cocos2d将調用update:方法1次,僅僅1次哦!

在這個例子中,update:方法的delta參數包括了在它被調用時所實際經曆的時間.

我應該總是使用fixedupdate:方法嗎?

在學習了fixedupdate:方法之後,你可能認為應該總是使用fixedupdate:方法,但這不完全正确.

如果你移動非實體對象,比如所隻是更新标簽(label)文本或是ui界面,則此時沒有理由使用fixedupdate:方法.否則你可能隻是在那些幀完成了沒有必要的工作:在渲染之前執行了原本隻需要執行1次的代碼很多次.

不管如何,如果你要檢測碰撞,操作實體對象(你自己實作的或是通過實體引擎實作的),你應該總是使用fixedupdate:.

全文譯完,原文連結在第一篇中,謝謝觀賞 ;)

繼續閱讀