我爲了模擬一下「流體機構」使用Phaser.js和P2物理學。您可以在this示例中看到創建了一種流體(約翰沃森的學分)。唯一可能的交互是鼠標移動。做多部分「流體體」作爲一個單一的機構
我已經注意到一些有趣的特性,可能會幫助我得到什麼我假裝這是恢復原狀,重力和阻尼。所有這些都包含在示例中。
// Add a force that slows down the droplet over time
droplet.body.damping = 0.3;
// Add bounciness and gravity
this.game.physics.p2.restitution = 0.8;
this.game.physics.p2.gravity.y = 250;
一些研究和反射我的結論是,所述主體我尋求必須比實例體這意味着更多的聯合在此之後,在一定限度內,與所述主體(中心的中心的方向上的力+ - 應該適用於所有造成身體的「小身體」。我想即使我用光標移動整個身體,它也會一起移動。總體效應我想是一個樁型體形式(對上部和更多的質量上的底部部分的質量小):
爲身體失去質量應該施加到的外力的唯一方式超越抵抗力量保持身體團結的身體。
即使researcing相當長一段時間,我似乎在這個問題上非常失落後...
- 我應該從字面上選擇P2力(我相信存在)?
- 我應該使用彈簧來連接所有的小天體? (springs)
- 我怎麼會總是得到「身體的中心」?
謝謝。
嘿。自從你回答以來已經有一段時間了。這是一個很好的答案順便說一句。到現在爲止,我沒有機會問我想要什麼。那麼我理解你的邏輯(我不贊成物理,但我想我知道了)。我遇到的困難之一是將其轉化爲代碼......這與問題本身並無太大關係,但既然您的回答非常好,我認爲您可能會將我帶到某個地方。你如何操作編程中的物理力量......我猜想有人已經完成了這項工作,我會與之互動?我不確定我是否足夠清晰 – DigitalEvolution
@Tojó查看鏈接中的'GameState.prototype.update'功能。你看到他們改變了'droplet.body.velocity'。從力量到速度,記住'F = m * a'和'a = v *Δt' - >'v = F /(m *Δt)'。也就是說,如果計算出某個力F,則可以通過將力與粒子質量相除以及自上次更新以來的時間來找到相應的速度變化。 – pingul