我在图像上创建了这样的车辆:
如您所见,有以下几点:
1)车身主体(红色矩形) 2)车轮3)车辆臂(黑色矩形)
机械臂与车身的连接采用旋转关节,在所示的锚点中心点,该机械臂可以上下移动(有以下角度限制),所以你可以看到它只能在90度内移动。
我的问题是,我通过应用角度脉冲来移动这只手臂,它起作用了,我可以移动手臂,但它一直落到默认位置。我正在努力如何“禁用”关节,所以手臂只能用我的控制器来移动,这样它就不会受到重力的影响,所以玩家可以稍微向上移动手臂,例如,手臂应该保持在这个位置,而不是掉下来。
任何帮助都是最好的,谢谢。
发布于 2013-01-29 02:37:53
禁用重力影响的最佳方法是在b2BodyDef中将gravityScale
设置为零。但是这个参数只出现在Box2D的最新版本中,而且可能在您的java端口中没有这个东西。
不管怎样,我觉得你关于重力的想法不是很好。它不是物理的,不现实的,因此你会发现一些相关的问题。例如,如果另一个力,除了重力,将影响手臂怎么办?这将导致所有相同的问题。
在我看来,更好的方法是制造旋转关节的臂用电机。一些教程你可以在“旋转关节电机”一节中找到there。您可以启用/禁用电机并更改其速度运行时间,以模拟车辆逻辑。此外,还可以更改关节的运行时上限/下限,以防止在未执行任何操作时手臂移动。实现这一点的另一种方法-将电机转速设置为零,这将把电机转换为某种摩擦力。
https://stackoverflow.com/questions/14549511
复制相似问题