如何在舞台上渲染应用了 box2d 物理的​​演员?

How to render actors in stage with the box2d physics applied to them?

我一直在 Libgdx 制作游戏,制作游戏的唯一方法是通过 scene2d Stage。我制作了一个扩展 Actor 的 BaseActor,并从 BaseActor class.

制作我的演员和角色

但问题是我想制作更好的游戏并在其中使用物理学。我搜索了又搜索,终于找到了 box2d。我又用我自己的方式在里面做了一个游戏BaseActor, BaseBody, and Stage.

BaseBody 用于制作身体,BaseActor 用于制作舞台演员,可能与我的旧版本相同,但在播放它时,我使用的重力不能使 objects 移动得更快。动作太慢了。然后我再次搜索和搜索,发现问题出在公制系统上。我正在使用像素,这让我的游戏变得非常糟糕。我在互联网上找到了一个名为 ppm 的东西。我真的不知道如何使用它或它到底是什么或任何其他与之相关的东西。

后来找了个场景编辑器,发现overlap2d和visEditor都挂了,不再支持了。而且我想说我不知道​​camera.combined、camera.setToOrtho和matrix的意思。最后,当我在 box2d 中制作游戏时,至少比我以前的损坏项目要好,但仍然不能使用公制系统和很多错误,我看到当带有图像的盒子到达地面边缘时 body 得到某种旋转,但图像仍然是相同的,我什至使用 body.getangle 并设置图像的旋转,它仍然不旋转。而且我不知道我应该如何让事情恢复正常。

这是我使用 visEditor 制作的游戏,除了图像的 setSize 和更多关于原点 x 和 y 的错误外,它运行良好。我在这个没有舞台的情况下使用了 viseditor 的场景加载器。而且这个使用公制。

这是我使用舞台和其他东西但没有场景编辑器的游戏。

--- matrix , camera.setToOrtho , camera.combined.

是什么意思

--- 如何在 box2d 和 Stage 中使用公制而不是像素。

--- libgdx.

是否有任何好的、受支持和更新的场景编辑器

--- 有没有其他方法来制作游戏而不是舞台和演员,但使用 classes 并且更高效且代码可重用于 libgdx 和 box2d

--- 如何在图像中应用 body 的物理特性。

--- 我使用舞台和演员进行编码并使用 batch.draw() 并使用 body 位置等用图像填充 body 是否正确任何用图像或任何其他方法填充 body 的方法至少比我的方法好。

我刚刚找到了您的一些问题的答案。

what is the meaning of matrix , camera.setToOrtho , camera.combined.

ans:我也不知道抱歉。

how to use metric system instead of pixels in both box2d and Stage.

ans:你可以通过将每个 object 的宽度和高度以及相机与恒定的 PIXEL2METER 相除来做到这一点。

(首先将常量静态值命名为 PIXEL2METER,然后在您的 baseActor class 中,如果您通过它加载纹理,只需将 setSize 与纹理的宽度和高度除以 PIXEL2METER,然后将两个变量设为您的需要宽度和高度并将它们除以 PIXEL2METER 并制作一个正交相机并调用方法 setToOrtho(false, width,height) 通过获取 getViewport().setCamera(camera) 或使用相机设置视口将此相机设置到您的舞台)

is there any good , supported , and updated scene editor for libgdx.

ans: 其实没有。没有任何 overlap2d,而 visEditor 也是我所知道的,但它们都已弃用并且不再受支持,存在许多错误。 libgdx 只是一个游戏框架,所以它没有自己的场景编辑器。

is there any other way to make game instead of stage and actors but with classes and more efficient and code reusable for libgdx and box2d

ans:实际上,编程语言是一门非常广泛和深入的知识,您可以通过多种方式制作游戏,但最重要的是制作游戏的最佳方式是您知道并相信我会做的方式为您的问题找到解决方案。

how to apply the physics of the body in the image too.

ans:我不知道抱歉。

am I coding right with using stage and actors and filling the body with image using the batch.draw() and using the body position and more or is there any method that fills body with image or any other at least better than my way.

ans:最好的方法还是你知道的方法,我还没有听说过任何用纹理或类似东西填充 body 的方法,但无论如何都要继续搜索,不要开始编码,除非你还没有找到任何答案。如果没有任何方法就创建一个。