所以,我想创建一个具有可破坏地形的平台游戏。我使用物理引擎box2d for java。我有一个想法是做很多小静电球,它们会在对它们有一些影响时被破坏。有更好的想法吗?这不会减慢性能吗?
第二个问题。如果我这样做,怎么能填写这个区域图片?类似于蠕虫的风格。
答案 0 :(得分:1)
除了您的想法也应该有效之外,它可能缺乏解决方案,这使我更喜欢this方法。
答案 1 :(得分:0)
我有类似的想法,并准备在接下来的几周内尝试一下。我打算做一座城堡和城堡#34;我的孩子们的射击游戏。这是我要做的解决方案:
地形选项#1: 将屏幕区域划分为垂直框,每个框中有几个像素。它们会从屏幕的底部延伸到顶部并将其分成垃圾箱。然后计算每个bin的AABB(在box2d坐标中),然后使用box2d中的AABB查询来查找该框中的所有实体。取出找到的物体的最大Y位置并使用该(+半径)找到该箱中的最高点。连接所有垃圾箱中的所有最高点,这将为您提供可以绘制的连续线等。
地形选项#2: 创建一个0.2米长x 0.1米长的长链,每端连接旋转接头。将链条从顶部放置在地形顶部。现在角色可以走过它。
在选项#1或选项#2中,当一个"炸弹"击中,摧毁炸弹中心附近的大量球(或你使用的任何多边形),物理应该让它们掉落。
我当然会自己尝试一下,看看能否让它发挥作用。
更新 嗯...有时候......在你的头脑中似乎是一个好主意,但实际上......不是那么多。我做了一个演示了丢弃大量不同大小的球以创建一个随机的"地形。地形并不是特别令人兴奋。我还使用AABB查询来移除触摸屏幕的球。这有效......但也不是特别令人兴奋。所以,一个很好的基础"运行在box2d"示范,但可能不是这个问题的好答案。 FWIW,代码发布在github here上。