我有两个身体,一个动态身体和一个运动身体。当它们相互碰撞时,我想改变运动机构的位置。我添加了一个Contact Listener,并且能够检测到冲突。但是当我想改变运动机构的变形时,我的游戏便崩溃了。 我真的很感谢您的帮助。
答案 0 :(得分:1)
您遇到的问题是,您正在尝试在物理处理过程中移动对象。 Box2D不喜欢在物理处理过程中(例如,在碰撞过程中)移动或更改对象
为了解决这个问题,必须为碰撞对象设置一个标记,然后在完成物理操作后将其移动。
例如
with open('user_data_dump') as f:
seen = set()
for line in f:
line_lower = line.lower()
if line_lower in seen:
print('True')
break
else:
seen.add(line_lower)
else:
print('False')
然后添加
// during physics processing
@Override
public void onCollision() {
//add body to array of objects to move
}