unity2D敌人自动巡逻代码
时间: 2023-10-22 14:03:36 浏览: 104
以下是一个简单的Unity 2D敌人自动巡逻的代码示例:
```c#
public class EnemyPatrol : MonoBehaviour
{
public float speed;
public Transform[] patrolPoints;
private int currentPointIndex;
void Start()
{
transform.position = patrolPoints[0].position;
currentPointIndex = 0;
}
void Update()
{
if(transform.position == patrolPoints[currentPointIndex].position)
{
currentPointIndex++;
if(currentPointIndex >= patrolPoints.Length)
{
currentPointIndex = 0;
}
}
transform.position = Vector2.MoveTowards(transform.position, patrolPoints[currentPointIndex].position, speed * Time.deltaTime);
}
}
```
在上面的代码中,我们首先定义了敌人的移动速度和巡逻点。在Start()函数中,我们将敌人的初始位置设置为第一个巡逻点,并将当前巡逻点的索引设置为0。
在Update()函数中,我们检测当前敌人是否到达了当前巡逻点。如果敌人到达了当前巡逻点,我们增加当前巡逻点的索引。如果当前巡逻点的索引超出了巡逻点数组的长度,我们将当前巡逻点的索引重置为0。
最后,我们使用Vector2.MoveTowards()函数将敌人移向当前巡逻点的位置,以达到敌人自动巡逻的效果。
阅读全文