【发布时间】:2015-11-19 02:48:15
【问题描述】:
我有一个脚本,它使用 Unity 引擎的 lerp 功能处理游戏对象随时间的转换。
public class MovePiece : MonoBehaviour {
Vector3 startPoint;
Vector3 endPoint;
float speed = 1;
float startTime;
float journeyLength;
void Start() {
startPoint = gameObject.GetComponent<Transform>().position;
endPoint = startPoint + new Vector3(20, 0, 0); //Will make this a variable eventually
startTime = Time.time;
journeyLength = Vector3.Distance(startPoint, endPoint);
}
void Update() {
float distCovered = (Time.time - startTime) * speed;
float fracJourney = distCovered / journeyLength;
transform.position = Vector3.Lerp(startPoint, endPoint, fracJourney);
}
}
但是,我只希望它在我单击一个游戏对象时运行一次,然后在它完成移动它时将其与该对象分离,以便下次我单击另一个对象时它可以再次运行。
我有一个附加到相机的光线投射设置,允许我选择游戏对象,我只是不知道如何在所选对象上运行此脚本!
我该怎么做?
【问题讨论】:
-
@FarhanAnam,对于 c# 和 unity 来说都是全新的,所以我不知道那是什么