2012-05-17 27 views
4

我一直在逐漸試圖讓我的頭部繞着Box2dWeb,一旦你把頭部放在基礎上,它很快就會變得非常有價值,這非常棒。我可以模擬憤怒的小鳥效應將物體扔到頁面和結構中。我一直從Seth Ladd的偉大box2d教程中獲取靈感,並嘗試調整它們,以便我可以創建一個關卡編輯器,以便開始創建迷你側滾動遊戲。但是我已經在第一關了......Box2dWeb Revolute通過地面落地

我的旋轉關節在調試(兩個身體之間的淺藍色線條)中可見。然而,當它向地面落下時,當身體自身碰撞並停在地面上時,關節本身似乎會繼續下落(從畫布上掉落)。它就好像它們實際上根本不相互關聯。

任何人都可以解釋我到底做錯了什麼?

你可以找到一個精簡版:

www.g-mccann.co.uk/box2d

反饋是極大的讚賞,我學習,所以要像你一樣重要。

非常感謝, 加里

編輯:23/05/2012

只是爲了更新我現在已經排序的問題,似乎是沒有連接到任何機構的固定裝置。 (謝謝iforce2d)我已經'1'您的評論,但似乎無法以正常的方式接受我會接受一個答案。

+0

請問一個更具體的問題 – jazzytomato

+0

嗨托馬斯,感謝您的迴應。我不能再具體了。我不明白爲什麼關節不能正常工作,因爲他們似乎在正確的位置進行調試時顯示,但當身體碰到缺陷時,它們只能從地面落下。 – Gary

+1

從你的例子中沒有一個人的行爲看起來好像他們連接在一起的事實來看,我猜測這個關節連接着另一組沒有夾具的物體。 – iforce2d

回答

2

您的問題可以通過使用CreateJoint函數來解決。

我已經研究了你的腳本,添加我發現的解決方案,只需在你的init函數中加入這一行。

box.addRevoluteJoint("wheel3","chassis", {motorSpeed: -2, maxMotorTorque: 10}); 

我希望這可以解決您的問題。

1

我看你的關節是沒有固定裝置的連接體。

0

對於製作旋轉關節,您必須添加兩個主體,一個是靜態的,另一個是動態的。動態物體使用旋轉關節附着到靜態物體的某一點,並在啓用啓動馬達後通過應用motorSpeed和maxTorque使其旋轉或移動。對於工作示例看到這個遊戲,它使用了很多旋轉關節來製作它。 http://pixsansar.com/jumping-and-puzzle-ball-level1

+1

Revolute連接不一定是靜態的,它們都可以是動態的。 – martyman