unity3d如何控制一个物体移动到指定位置并且立刻停下来

 我来答
匿名用户
2018-07-01
展开全部
public class PlayerMove : MonoBehaviour
{
public float speed = 5f; //移动时的速度
private Vector3 Player_dir; //主角的坐标

void Update ()
{
Player_dir.x = -Input.GetAxis("Horizontal") * speed * Time.deltaTime; //移动的X数据
Player_dir.z = -Input.GetAxis("Vertical") * speed * Time.deltaTime; //移动的Z数据
this.transform.Translate(Player_dir.x, 0, Player_dir.z); //移动的距离
Player_dir = this.GetComponent<Transform>().position; //用来获取当前主角的坐标
Exceed(); //检测是否超出函数
}

void Exceed () //自定义超出函数
{
if (this.transform.position.x > 45) //检测当前主角的X正半轴
{
this.transform.position = new Vector3(45, Player_dir.y, Player_dir.z);
}
else if (this.transform.position.x < -45) //检测当前主角的X负半轴
{
this.transform.position = new Vector3(-45, Player_dir.y, Player_dir.z);
}
else if (this.transform.position.z < -45) //检测当前主角的Z负半轴
{
this.transform.position = new Vector3(Player_dir.x, Player_dir.y, -45);
}
else if (this.transform.position.z > 45) //检测当前主角的Z正半轴
{
this.transform.position = new Vector3(Player_dir.x, Player_dir.y, 45);
}
}
/*注:如果超出对它做出处理,重新指定坐标且这个坐标只能在四象轴范围内。*/
}
我啦啦啦啦啦8
2016-09-28 · TA获得超过133个赞
知道小有建树答主
回答量:151
采纳率:20%
帮助的人:72.8万
展开全部
知道制定位置的坐标,判断当坐标临界制定坐标位置,让物体等于这个坐标向量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式