2010-05-01 60 views
0

我有一個用Cocos2D和Chipmunk構建的簡單項目。到目前爲止,它只是在地面(屏幕底部的一條靜態線段)上彈跳的一個球(體,形狀爲& sprite)。在Chipmunk模擬時拖動Sprite(Cocos2D)

我實現了ccTouchesBegin/Moved/Ended方法來拖動球。 我都試過:

cpBodySlew(ballBody, touchPoint, 1.0/60.0f); 

ballBody->p = cgPointMake(touchPoint.x,touchPoint.y); 

,雖然球沒有按照我的拖動,它仍然受着重力和它試圖走下來(這會導致速度的問題及其他)。

有沒有人知道在物理模擬進行時拖動活動物體的首選方法? 我需要以某種方式停止模擬,然後再打開它嗎?

謝謝!

回答

0

暫時從空間中刪除身體。

如果您希望物體在釋放時具有慣性,那就是另一回事了。最簡潔的方法是在球和臨時傳感器主體之間附加一個相當硬的彈簧,該傳感器主體在手指的控制下移動。當你用手指放開時,球會保留拖動時的運動特性。確保不是在這種情況下從空間中移除球。

+0

我現在可以拖動它,但是如果我把它扔到一邊並釋放它,它就會停下來,直線落在一條直線上並彈跳...... 任何想法如何讓它如此當我釋放它時它會以正確的方向/速度移動?謝謝。 – 2010-05-01 13:58:08

+0

我已經更新了答案。 – 2010-05-01 14:14:33