当前位置: 首页 > 知识库问答 >
问题:

LibGDX-Box2D脊柱

侯向文
2023-03-14

我正在尝试使用LibGDX来掌握游戏开发的窍门,到目前为止,我已经理解了它的一切,因为它是基本的Java,并且很好地使用了接口和超级类。

我正在努力将图形融入到LibGDX项目中,我正在使用Tiled创建地图,我了解它的工作原理以及如何渲染它们。

我也开始进入Box2D学习物理,我能够包装我的地图(平铺的…)用Box2D。

当我尝试从Spine导入项目时,出现了问题,我访问了以下链接:https://github.com/EsotericSoftware/spine-runtimes/tree/master/spine-libgdx而且他们肯定有文件。。。。但是对于刚开始学习的人,我相信他们会认为你什么都知道,而且由于新的BoundingBoxAttachment,目前他们的Box2D示例不起作用。。

我的问题基本上是:最近有没有关于如何从头开始而不是单独使用这三种工具(libgdx、box2d和spine)的“教程”?

我不会发布任何特定的代码,因为我想要的更多的是一个指导,而不是一个代码故障排除。

感谢您的合作。

共有1个答案

宇文兴言
2023-03-14

我想这是一个真正潜入代码的问题,在大量研究了Spine生成的json结构并真正了解了Box2D之后,我能够随心所欲地控制摄像头,并使用Spine示例代码中提供的循环

    // Position each attachment body.
    for (Slot slot : skeleton.getSlots()) {
        if (!(slot.getAttachment() instanceof Box2dAttachment)) continue;
        Box2dAttachment attachment = (Box2dAttachment)slot.getAttachment();
        if (attachment.body == null) continue;
        attachment.body.setTransform(slot.getBone().getWorldX(), slot.getBone().getWorldY(), slot.getBone().getWorldRotation()
            * MathUtils.degRad);
    }

我能够得到每个附件并生成附件,因为这个例子不起作用,我想它只是需要调整。

 类似资料:
  • 我正在使用ContactListener测试box 2D中两个物体之间的碰撞 这是我在世界上使用的所有contactListener类。设置ContactListener(new Box2DWorld(this))以添加它 我的dedub是这样的 beginContact preSolve postSolve。preSolve postSolve beginContact preSolve END

  • 我想创造一个像飞鸟一样的游戏。我想让玩家在屏幕上不断跳跃。我创造了这个代码,它不像一只扑翼鸟跳 代码: 问题是当用户在屏幕上快速点击时,玩家就像火箭一样被击中。当玩家跌倒时,跳跃更低。我该如何解决这个问题,并获得相同的跳跃强度? 我的解决方案:

  • 问题内容: 我刚刚开始使用libgdx创建游戏。它是使用scene2d ui的自上而下的2d射击游戏。现在我想,我可以在某些程度上增加黑暗和光明,但是我不想使用box2d重写所有内容。我不需要逼真的阴影,只需某种环境光和围绕我角色的光圈即可,不受周围墙壁和其他障碍物的影响。所以我想知道libgdx中是否有任何照明系统?或者我可以不使用box2d物体/世界而使用box2dlights吗?谢谢 问题答

  • 问题内容: 我有一个使用FitViewport的尺寸为800x480的游戏世界,最初使用像素来渲染box2d物体+固定装置,因此所有物理效果看起来都是漂浮而缓慢的。通过查看文档,我发现box2d使用度量单位,因此我将box2d的位置和大小转换为32倍,因此最终得到了25x15米的box2d世界。 我遇到的问题是,现在box2d对象变得非常小。如何缩小它们,使它们在屏幕上显示常规尺寸? 问题答案:

  • 为什么这工作正常: 这会产生运行时错误 错误: 这没有任何意义。第一个代码工作正常,三角形画好了,但第二个代码不行。有人能解释一下我做错了什么吗...

  • 这是一个使用box2d的非常简单的场景。我尝试了不同的视口和不同的屏幕尺寸。我不明白为什么尸体下落得很慢。实际上,我不太确定它是否慢,原因可能是视口设置等。这是主类: 和水平屏幕: