using UnityEngine;
using System.Collections;
using System;
public class nine : MonoBehaviour {
//確定下一個索引
int nextPathPoints = 1;
//掛在對象
public GameObject player;
//移動的位置
GameObject[] pathPointInts;
// Use this for initialization
void Start () {
//所有小球位置的Path01;記得去Unity頁面全部改成Path01
pathPointInts = GameObject.FindGameObjectsWithTag(“Path01”);
//位置順序
// Array.Reverse(pathPointInts);
//位置順序和上邊一樣
Array.Sort(pathPointInts,(x,y)=> { return x.gameObject.name.CompareTo(y.gameObject.name); });
//對象的初始位置
player.transform.position = pathPointInts[0].transform.position;
//移動的方向
player.transform.forward = pathPointInts[nextPathPoints].transform.position - player.transform.position;
}
// Update is called once per frame
void Update () {
//首先判斷每一個點的位置和對象的位置
if (Vector3.Distance(pathPointInts[nextPathPoints].transform.position, player.transform.position) < 0.1f)
{ //判斷當前的索引是否爲最後一個
if (nextPathPoints != pathPointInts.Length - 1)
{
nextPathPoints++;
}
//判斷最後點的的位置和對象的距離,確定對象的最後位置,不用最後一直移動;
if (Vector3.Distance(pathPointInts[pathPointInts.Length - 1].transform.position, player.transform.position) < 0.1f)
{//確定對象的最後位置,不用最後一直移動;
player.transform.position = pathPointInts[pathPointInts.Length - 1].transform.position;
}
//確定每一次對象的方向,因爲每一次nextPathPoints都++;
player.transform.forward = pathPointInts[nextPathPoints].transform.position - player.transform.position;
}
//對象移動向前,自己的座標軸;
transform.Translate(Vector3.forward * 5 * Time.deltaTime, Space.Self);
}
}