【问题标题】:is it possible to create a fixture for a body that could be broken by some other body?是否可以为可能被其他物体破坏的物体创建一个固定装置?
【发布时间】:2015-02-20 05:35:20
【问题描述】:

我真的很想知道,是否有可能为一个可能被其他物体破坏的物体创建一个固定装置?

有例子:

  • 将其夹具分成小数字的主体:
  • 以及它被另一个身体击中后会发生什么:

附:是否有任何程序可以帮助创建 此类 夹具的过程?

【问题讨论】:

    标签: libgdx box2d fixtures


    【解决方案1】:

    是的,您可以使用Breakable 来做到这一点:

    net.dermetfan.gdx.physics.box2d.Breakable

    Breakable 可以很容易地使整个物体或单个固定装置变得易碎,这意味着如果对它们施加一定的力或摩擦,它们就会被破坏。

    如何使用

    Breakable 用于放置在身体、固定装置或关节的用户中 数据。单个 Breakable 实例可以放在用户数据中 多个主体、固定装置和接头。由于这可能与 Box2DSprite 或其他使用用户数据的类, Breakable$Manager 使用Function 来访问 身体、夹具或关节的用户数据。不要忘记设置管理器 实例作为世界的 ContactListener 并在之后调用 destroy() 每个时间步。如果该字段已被使用,请查看 接触多路复用器。经理做实际的工作,Breakables 只是被动的数据持有者。

    Breakable 由法向电阻、切向电阻、 如果它的最后一个固定装置被破坏,可以选择破坏它的身体,并且 一个选项设置是否应该销毁身体,无论数量多少 剩余的灯具。

    normalResistance 是可以施加到 在它破裂之前易碎(包括)。 tangentResistance 是 Breakable 可以承受的摩擦力(也包括在内)。这 reactionForceRestiance 指定关节可以承受的反作用力 在每个轴上。 reactionForceLength2Resistance 是最大平方 Breakable 可承受的关节反作用力的长度。

    参考libgdx-utils

    其他一些很好的参考资料以及很好的例子herehere

    问题(Are there any programs that could help the process of creating such fixture)

    是的,您可以轻松使用 box2d-editor,它允许您创建复杂的多边形,您还可以从您的图像或精灵创建您的身体和形状查看同一页面中的官方文档有几个解释 box2d-editor 工作方式的视频:

    特点:

    • 自动将凹形分解为凸多边形,
    • 如果需要,自动跟踪您的图像,
    • 支持单个主体的多个轮廓,
    • 支持多边形和圆形,
    • 可以更改参考点位置,
    • 具有对齐网格选项的可视化可配置网格,
    • 内置碰撞测试仪!向你的身体扔球来测试它,
    • 为 LibGDX 游戏框架提供的加载器(用 Java 编写),
    • 简单的导出格式 (JSON),让您可以轻松地为任何语言的任何框架创建自己的加载器。

    【讨论】:

    • 好吧,在 libgdx-utils 中,它只是破坏身体而不是将其分解成碎片((我需要创建一个身体的固定装置,它可以分解成小人物,而不仅仅是破坏。跨度>
    • 你会发现这个话题很有用box2d.org/forum/viewtopic.php?f=3&t=836
    • 你可以按照这个概念做类似的事情,jbox2d 是 c++ box2d 库的一个端口,它们的类和方法大部分是相同的,语法从 java 更改为 c++,你有而不是 abject .doSomethink , 对象
    • 这个库缺少java示例,大部分都是JS,C++,Flash,...这里是最好的参考iforce2d.net
    猜你喜欢
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 2022-01-14
    • 2011-12-08
    相关资源
    最近更新 更多