2

我浏览了 libGdx wiki/tutorial,但没有找到使用图像或演员作为物理体的示例。在我的游戏中,我在舞台上添加了一个演员。但我想将此演员或精灵图像添加为物理体。

我必须拖动这个演员,甚至想检测与其他物体的碰撞。

如果有请给我参考。

谢谢

4

2 回答 2

6

这有点棘手。您不使用图像或 Actor 作为物理体。

您将需要实现类似于扩展 Actor 的新“PhysicsActor”之类的东西。这个 Physics actor 将拥有一个 body 作为属性,并将成为您的 libgdx 场景和 box2d 世界之间的桥梁。

Actor 将根据身体的位置更新其位置(注意米到像素的转换)。Actor 将像点击它一样接收输入,并且需要为要拖动的 Body 创建一个 (Mouse-)Joint 并跟随鼠标。

您如何处理附加到身体的图像的渲染也是自定义的。您可以手动给每个 PhysicsEntity 一个 Sprite,该 Sprite 将由 draw-call 渲染。或者您将使用编辑器(例如 RUBE,在 libgdx 论坛的贡献部分中也有一个 rube-loader),它可以让您将图像附加到正文,然后您将从编辑器中读取这些图像。

您也可以查看此链接http://www.netthreads.co.uk/2012/04/23/libgdx-box2d-scene2d-bumpers-demo/我想这正是您需要的,但它似乎实现了一点有点不同。他使用某种层架构来连接 libgdx 场景和 box2d 世界。

于 2013-08-19T06:15:55.920 回答
1

stackoverflow上已经有这样的问题了

除了box2d 和 scene2d

于 2013-08-19T06:46:17.677 回答