我正在 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()
只要按下向上按钮,总是设置位置的值。有办法解决这个问题吗?
答案 0 :(得分:1)
我认为问题在于你是直接设置位置。所以在每一帧中,你都要确切地告诉团结对象应该是什么,它会覆盖从碰撞中计算出来的位置。
要解决此问题,您需要修改移动代码,以便为刚体添加力并使位置保持不变(请参阅刚体文档和函数AddForce(https://docs.unity3d.com/ScriptReference/Rigidbody.html)