我为了模拟一下“流体机构”使用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