2014-09-13 86 views
1

我在Corona sdk製作了一款遊戲,其中不同的球彈跳並通過焊接點彼此粘在一起。當我重置遊戲時,所有關節都被破壞,然後所有球重新定位。下面是我的一些代碼:Corona SDK完全破壞物理聯合

--stickJoints and balls are tables that contain all the weld joints and ball objects 
resetTotal = function() 
    for i=1,#stickJoints do 
     stickJoints[i]:removeSelf() 
     stickJoints[i]=nil 
    end 
    for i=1,20 do 
     --this resets all balls and sets linear and angular velocity to 0 
     resetP(balls[i],1000+(i-1)*400,5000,0) 
    end 
end 

的問題是,當我點擊Reset按鈕時,被暫時連接球彼此交互。任何想法都有幫助。謝謝!

+0

嘗試physics.pause()重置前... – 2014-09-13 17:54:26

+0

你的最後一段是不明確的:是什麼症狀,會發生什麼情況不應該發生的,什麼是在短暫的互動結果 – Schollii 2014-09-14 01:44:08

+0

@Schollii對不起,該球。將會拼合在一起,就好像關節還沒有被摧毀一樣,但之後就會被銷燬。當我暫停物理並將其設置爲調試繪製模式時,在我重新定位球之後關節仍然存在,並且僅在物理開始後才被破壞 – 2014-09-14 12:41:56

回答

1

我覺得你最好的選擇是要麼

  1. 使用timer.performWithDelay調用,將重新定位球的物理學有機會打破約束後的功能。
  2. 從物理學中移除每個球,並使用延遲函數cal(請參閱第1項)在重新定位後重新添加它們。