塔防游戏固定路线解析
来源:互联网 发布:二维码生成器软件制作 编辑:程序博客网 时间:2024/06/05 02:44
在塔防我们需要小怪沿着固定路线行走,今天就给大家分享一下我的方法,直接上代码可在代码里看分析:
首先我们在场景里建立好Cube当作怪,Capsule来当作固定路点的点
接下来我们写一个脚本,将他绑定在Cube身上:
//建立路点数组
public GameObject[] pathPoint;
//开始的索引
int nextPathPointIndex = 1;
// Use this for initialization
//设置速度
public float speed;
void Start () {
//这里我们把所有Capsule的Tag值设置为Path
pathPoint = GameObject.FindGameObjectsWithTag("Path");
//将他们进行排序,如果运行时出现怪不按路点行走,可在场景看一下GameObject[]是否按顺序排列!!!
Array.Sort(pathPoint,(x,y)=> { return x.gameObject.name.CompareTo(y.gameObject.name); });
//设置怪的初始位置
transform.position = pathPoint[0].transform.position;
//设置初始方向
transform.forward = pathPoint[nextPathPointIndex].transform.position - transform.position;
}
// Update is called once per frame
void Update () {
if (Vector3.Distance(pathPoint[nextPathPointIndex].transform.position, transform.position) <5)
{
//如果不是最大的索引就让他继续++;
if (nextPathPointIndex != pathPoint.Length - 1)
{
nextPathPointIndex++;
}
//判断怪与路点之间的距离
if (Vector3.Distance(pathPoint[pathPoint.Length - 1].transform.position, transform.position) < 0.1f)
{
transform.position = pathPoint[pathPoint.Length - 1].transform.position;
return;
}
transform.forward = pathPoint[nextPathPointIndex].transform.position - transform.position;
}
transform.Translate(Vector3.forward * Time.deltaTime *speed, Space.Self);
}
写好后返回场景,将路点拖入数组槽,运行可得到一下效果:
在游戏中我们是不想看到这些Capsule的,这时我们可以将所有Capsule右边组件的这个组件勾去掉
谢谢大家耐心的观看。
- 塔防游戏固定路线解析
- Unity_塔防固定路线_060
- 塔防游戏
- 塔防游戏demo
- 塔防游戏
- 塔防游戏
- unity3D 塔防游戏
- iPhone塔防游戏
- 塔防游戏
- 塔防游戏-路径
- HTML5塔防游戏
- HTML5塔防游戏
- Cocos2D 2.1: 塔防游戏
- 塔防游戏.BloonsTD5简评
- cocos2dx塔防游戏逻辑
- 塔防游戏-敌人控制
- 塔防游戏-生成敌人
- 塔防游戏-摄像机移动
- 1、UVA624(记录路径问题)
- 20170909_合并两个有序数组
- 递归求幂集
- WOJ1303-Assemble
- 电脑上多个golang版本如何自由切换
- 塔防游戏固定路线解析
- createthread dll
- WOJ1313-K尾相等数
- hdu1525Euclid's Game(博弈)
- 查找字符串 中字串个数
- 社交网络
- Tengine的安装和使用(1)
- WOJ1314-3n+1数链问题
- js 读取歌词文件展示