我正在尝试在我的 android 游戏中实现“杠杆”,这里的图片显示了我想要什么,展示了它是如何工作的:
1)
2)
我设法通过使用联合来完成它的基本工作:
final RevoluteJointDef revoluteJointDef = new RevoluteJointDef();
revoluteJointDef.initialize(anchorBody, movingBody, anchorBody.getWorldCenter());
revoluteJointDef.enableLimit = true;
revoluteJointDef.upperAngle = MathUtils.degToRad(40);
revoluteJointDef.lowerAngle = MathUtils.degToRad(-40);
physicsWorld.createJoint(revoluteJointDef);
它可以工作,我可以向左/向右移动操纵杆,并且你应该不能超过适当的角度,所以这部分完成了。但是现在我正在寻找一种方法,在移动此杠杆后执行操作(例如打开一些门/大门)
这是我的基本想法,如何通过用这种方式创建棒的身体来检查玩家(左或右)触摸了棒的哪一部分:
所以解释一下,通过添加 2 个传感器,一个在左侧,一个在右侧,所以在接触侦听器时,我会检查哪一侧被触摸。
但是我仍然不知道如何检查是否应该执行操作,我知道如果坚持角为 40 或 -40,我可以检查每次更新,但这是有效的方法吗?或者也许有更好的?我将非常感谢任何提示!谢谢