我有两个位置posA和posB我想在按钮点击时将我的玩家移动到这两个位置之间。使用Vetor3.Lerp玩家只移动一次,但它没有工作第二次移动。任何一个帮助。
using UnityEngine;
using System.Collections;
public class PlayerTurn : MonoBehaviour {
public Transform leftPos;
public Transform rightPos;
public float speed = 5;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void functionForButton(){
transform.position = Vector3.Lerp (leftPos.position, rightPos.position, speed);
}
}
答案 0 :(得分:1)
你搞砸了一些东西,Vector.lerp用于Update,因为它是一个应该适用于每一帧的功能,直到它完成。
它起源于' Source'到目的地',所以当你再次点击它时,它仍然会从源码运行到目的地,如果你想要改变它,你需要以交换位置的方式设计你的代码。比如设置标志或创建另一个功能。
这是Unity开发人员关于如何使用Lerp的一个很好的教程。