2011-09-08 20 views
1

我是新來的電暈,我試圖移動一個路徑的身體到達某個對象「說一個蘋果4的例子」,它到達對象後,我想創建一個聯合這兩者都是作爲一個單獨的對象移動電暈碰撞事件處理程序和關節解決方法

問題是,我使用碰撞檢測來檢測運動物體到達物體,一旦檢測到碰撞物體和物體必須連接在一起,所以我創建了一個新的聯合體。但這似乎並不奏效。

在physics.newJoint()API中表示它不應該與collision eventHnadler一起使用。有沒有人知道爲什麼?它是與一些物理有關,還是一個問題或一個錯誤?

我試圖繞過它,但沒有使用物理學,所以如果任何人有一個想法如何處理它仍然與物理PLZ告訴我。

回答

2

因爲在碰撞期間改變物理模型的任何東西都會干擾當前物理迭代的物理計算,所以它會拋出一個併發修改斷言 - 這些對象在他們弄清楚它們應該如何被鎖定的時候被鎖定在該幀或子幀期間進行物理響應。它必須等到計算完成,否則就會被幹擾。

在衝突事件處理程序中修改物理的所有情況下的變通方法是在處理程序中添加timer.performWithDelay(1, whatYouWannaDo, 1)。這使得它等待程序退出事件處理程序,然後執行whatYouWannaDo