Unity_塔防固定路线_060
来源:互联网 发布:windows系统制作mac 编辑:程序博客网 时间:2024/06/04 19:58
固定路线的寻路一般在塔防游戏中出现的比较多。
效果如下:
下面我们来看以下固定路线的实现:
using UnityEngine;using System.Collections;using System;public class Move : MonoBehaviour { //保存所有的路点 public GameObject[] points; //记录下一个即将到达的路点 int currentPointIndex = 1; Vector3 direction = Vector3.zero; // Use this for initialization void Start () { //获取所有的路点 points = GameObject.FindGameObjectsWithTag("PathPoint"); //上面的方法获取到的路点在数组中保存的顺序是降序的,我们使用Sort重新排序 Sort默认是升序状态 我们也可以使用Reverse 反转数组 里面使用的Lambda表达式排序 Array.Sort(points,(x,y)=> { return x.name.CompareTo(y.name); }); //设置游戏对象的起始位置 transform.position = points[0].transform.position; //设置游戏对象的方向 direction = GetDirection(transform.position, points[1].transform.position); //游戏对象方向的标准化 transform.forward = direction.normalized; } // Update is called once per frame void Update () { //当游戏对象的位置距离目标点还有0.1m的时候 if (Vector3.Distance(transform.position, points[currentPointIndex].transform.position)<0.1f) { //设置目标点为游戏对象自身的位置 transform.position = points[currentPointIndex].transform.position; //判断有没有下一个目标点 if (currentPointIndex+1<points.Length) { currentPointIndex++; } } if (transform.position != points[points.Length-1].transform.position) { //玩家移动的方向 direction = GetDirection(transform.position, points[currentPointIndex].transform.position); transform.forward = direction.normalized; transform.Translate(Vector3.forward * 10 * Time.deltaTime); } else { transform.position = points[points.Length - 1].transform.position; //transform.forward = direction.normalized; } } //得到一个实时的方向 Vector3 GetDirection(Vector3 v1,Vector3 v2) { return v2 - v1; }}
阅读全文
0 0
- Unity_塔防固定路线_060
- 塔防游戏固定路线解析
- Unity_塔防游戏按波产生怪_063
- Unity_塔防游戏按波产生怪(协程实现)_064
- Unity_固定分辨率运行游戏_082
- 寻路系统:固定路线
- Unity按固定路线自动寻路
- Unity中物体在固定路线移动
- 易經大意 041_060
- 塔防
- Unity入门操作_固定路线行走_021
- Unity19--物体自动沿固定路线走,自动寻路
- Unity_协程
- 路线
- 路线
- 路线
- 路线
- 路线
- PXE自动安装系统原理及配置
- 自动行为操控Steering(七)—避开障碍物(单体操控)
- XListView+ViewPager+SQLite
- elk的使用说明
- 【Android】多Fragment切换以及在主Activity中判断返回按键
- Unity_塔防固定路线_060
- Linux下添加用户
- DPDK-PACKET DISTRIBUTOR LIBRARY 包分发库
- Java反编译插件
- Unity 向量围绕一个轴旋转 求新向量
- 1765:Hanoi问题
- react native ——android返回键问题
- Rebirth
- 韦东山:机会总是留给有准备的人