2011-06-10 65 views
1

在花栗鼠/ cocos2d中,我擁有經典的彈跳球演示,可以隨意運行任意數量的球。 如何知道精靈何時停止移動(即球落在底部並「完成」)?我試圖在Layer類中聲明float prevX,prevY,所以我可以將當​​前的x,y與updateShape中的前一個x,y進行比較,但我無法訪問該sprite的父項。如何判斷精靈何時停止移動

  ((CustomLayer *)(sprite->parent))->preX = body->p.x; 

編譯器通知我,精靈的父母受到保護。

謝謝。

回答

2

如果您啓用了Chipmunk的睡眠算法,則可以調用cpBodyIsSleeping()。

花栗鼠通過檢查它們的動能低於某個閾值並增加一個計時器來判斷事物閒置。如果定時器達到一定數量,則認爲機體閒置。

+0

感謝您的回答。我將如何啓用此算法?另外,我沒有找到任何方法調用cpBodyIsSleeping()。你知道這是否被添加到最近的版本?謝謝。 – Rayfleck 2011-06-10 21:33:15

+0

找到他們[這裏](http://files.slembcke.net/chipmunk/release/ChipmunkLatest-Docs/) – Rayfleck 2011-06-14 15:28:20