阻止我的 2d 物体通过盒子对撞机

Stop my 2d object from going thru box collider

所以现在我有一个可以移动的盒子 left/right,在侧面我还有其他盒子可以阻止玩家进入虚空。很难解释,但基本上我有中间的玩家,然后每边都有一个盒子来阻止玩家从 运行 进入虚空。尽管我已经用盒子碰撞器和 ridgidbodies 设置了所有东西,但当我将我的设备一直倾斜到一边时,玩家会直接穿过盒子,但如果我稍微倾斜设备,玩家就会在两侧弹跳,它变得非常生涩的。我怎样才能做一些任何物体都无法穿透的障碍?比如我需要做些什么来建造一堵墙,这样任何东西都无法穿过它?这是我用来控制播放器的代码,谢谢!

using UnityEngine;
using System.Collections;

public class Tilt : MonoBehaviour {

void FixedUpdate ()
{
    transform.Translate(Input.acceleration.x * Time.deltaTime * 10, 0, 0);
}

}

您遇到此问题是因为您正在使用 transform.translate 移动您的角色。无论是否有任何碰撞器,此方法都会将您的角色放置在指定位置。

正如您所说,您已将刚体附加到您的角色,因此请尝试使用 rigidbody.velocity 来移动您的角色。

如需更多帮助,请查看以下内容 Unity Tutorial