unity3d如何得到角色移动距离 5

用C#语言,进行前后左右移动都算入移动距离... 用C#语言,进行前后左右移动都算入移动距离 展开
 我来答
迅芈徒夭
2019-06-09 · TA获得超过5148个赞
知道大有可为答主
回答量:7203
采纳率:88%
帮助的人:444万
展开全部
稍微修改了下,看看是不是你想要的结果。
注意Input.GetKeyDown(KeyCode.UpArrow) 这个返回值只在按下的那一帧为true。
还有就是Vector3.Lerp()这个函数的第三个参数的有效范围是0~1,不多说了,你懂得。
private bool sMove = false;
private Vector3 endpos;
private float process = 0;
void Update()
{
if (Input.GetKeyDown(KeyCode.UpArrow))
{
if (!sMove)
{
endpos = new Vector3(person.transform.position.x, person.transform.position.y + 10, 0);
process = 0;
sMove = true;
}
}
if (sMove)
{
process += Time.deltaTime * 2;
if (process < 1)
person.transform.position = Vector3.Lerp(person.transform.position, endpos, process);
else
{
sMove = false;
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式