统一2D如何在两个位置之间移动物体

时间:2015-10-11 03:00:45

标签: unity3d 2d lerp

我有两个位置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);
    }
}

screen

1 个答案:

答案 0 :(得分:1)

你搞砸了一些东西,Vector.lerp用于Update,因为它是一个应该适用于每一帧的功能,直到它完成。
它起源于' Source'到目的地',所以当你再次点击它时,它仍然会从源码运行到目的地,如果你想要改变它,你需要以交换位置的方式设计你的代码。比如设置标志或创建另一个功能。 这是Unity开发人员关于如何使用Lerp的一个很好的教程。

Vector3 Lerp Video
Vector3 Lerp Scripting Reference