Unity 2D C# - 对撞机无法正常工作

时间:2016-06-29 13:03:19

标签: c# collision-detection collision unity5

我正在 Unity 5 中开展 2D TopDown 游戏。碰撞根本不起作用。 玩家和障碍物都有 2D 对撞机,它们不是触发器。播放器有 2D Rigidbody 运动设置为 false 重力比例是等于。也许运动代码与它有关。 代码有点长,所以我只会告诉你上升的代码:

transform.position = new Vector3 (posX, posY, 0);

/.../

buttons = driver.find_elements_by_css_selector("input.button");
buttons[2].click()

只要按下向上按钮,总是设置位置的值。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我认为问题在于你是直接设置位置。所以在每一帧中,你都要确切地告诉团结对象应该是什么,它会覆盖从碰撞中计算出来的位置。

要解决此问题,您需要修改移动代码,以便为刚体添加力并使位置保持不变(请参阅刚体文档和函数AddForce(https://docs.unity3d.com/ScriptReference/Rigidbody.html