【发布时间】:2014-02-24 04:18:03
【问题描述】:
我是unity的新手,一直在思考如何移动一个角色,以便它在撞到墙上时会停下来。
目前我使用过这样的代码:
Vector3 pos = transform.position;
if(Input.GetKey("a")) pos.x -= 1;
if(Input.GetKey("d")) pos.x += 1;
transform.position = pos;
但是,角色将通过墙壁移动。 我在 char 中添加了一个刚体组件。
编辑:是的,它们上面确实有一个盒子碰撞器,当它们碰撞时,char 确实开始“反弹”,但是 char 直接穿过墙壁。
【问题讨论】:
-
墙壁上有盒子碰撞器吗?你有附加到角色的对撞机吗?更多信息会很有用。
标签: c# unity3d collision-detection