gpt4 book ai didi

libgdx - 使用 box2d 检测碰撞,但忽略力

转载 作者:行者123 更新时间:2023-12-01 00:56:20 24 4
gpt4 key购买 nike

我正在使用 libgdx 和 box2d 来检测碰撞,但我希望检测到一些碰撞,但力不会发挥作用。

例如,我想检测角色何时与硬币碰撞但不希望硬币影响玩家的 Action 。

这甚至可以使用box2d吗?如果是这样,我该怎么做?

最佳答案

我不确定你想要做什么,但如果我理解你想要做什么,你可以创建一个传感器夹具类型,这个伪示例:

FixtureDef fd1 = new FixtureDef();
//fd1.friction = 0.5f;

PolygonShape pSTest = new PolygonShape();

//size you want for example:
pSTest.setAsBox(4f / PIXEL_POR_METRO,
1f / PIXEL_POR_METRO,
new Vector2(22f / PIXEL_POR_METRO, -1f / PIXEL_POR_METRO),
0f);

fd1.shape = pSTest;
fd1.isSensor = true;

yourBody.createFixture(fd1).setUserData("yourId");

看起来是 ContactListener 接口(interface),例如 preSolve

请注意传感器,这不是传感器的要求。

信息
setAsBox(float hx, float hy, Vector2 center, float angle)

Parameters:
hx the half-width.
hy the half-height.
center the center of the box in local coordinates.
angle the rotation in radians of the box in local coordinates.

关于libgdx - 使用 box2d 检测碰撞,但忽略力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27578912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com