目标是让蓝色方块沿着紫色方块组成的路径移动,设计思想就是让蓝色方块移动第一个,然后继续移动到第二个,然后.....,我们使用碰撞检测判定蓝色方块是否已经到位置来改变方向。 首先编写2个简单的脚本: /----------------------------- move.cs 给蓝色方块使用------------------------------/ using UnityEngine; using System.Collections; public class move : MonoBehaviour { //用来保存目标的数组 public Transform [] obj; //用来改变数组的值 private static int i = 0; void Start() { } void Update() { // 让我们的物体朝目标移动 transform.LookAt(obj[i % obj.Length]); transform.Translate(Vector3.forward*Time.deltaTime*5); } //改变目标物体 public static void Add() { i++; } } /----------------------------- move.cs end --------------------------/
/----------------------------- point.cs 给紫色方块使用 ----------------/ using UnityEngine; using System.Collections; public class point : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } //当用户接触到目标物体改变参数到下一个目标物体 void OnTriggerEnter(Collider cos) { move.Add(); } } /----------------------------- point.cs end --------------------------/ 蓝色方块的参数设置,注意要将box collider 换成Character Controller,这样才能跟紫色方块产生碰撞触发。