unity2D敌人自动巡逻代码
时间: 2023-10-22 11:03:41 浏览: 136
以下是一个简单的Unity 2D敌人自动巡逻代码示例:
```csharp
using UnityEngine;
public class EnemyPatrol : MonoBehaviour
{
public float moveSpeed = 3f; // 敌人移动速度
public Transform[] patrolPoints; // 巡逻点数组
private int currentPointIndex; // 当前巡逻点索引
private Rigidbody2D rb;
void Start()
{
rb = GetComponent<Rigidbody2D>();
currentPointIndex = 0;
}
void Update()
{
// 沿着巡逻路径移动
Vector2 direction = patrolPoints[currentPointIndex].position - transform.position;
rb.velocity = direction.normalized * moveSpeed;
// 到达巡逻点后,选择下一个巡逻点
if (Vector2.Distance(transform.position, patrolPoints[currentPointIndex].position) < 0.1f)
{
currentPointIndex++;
if (currentPointIndex >= patrolPoints.Length)
{
currentPointIndex = 0;
}
}
}
}
```
在上述代码中,EnemyPatrol脚本附加到敌人对象上。 敌人将按照patrolPoints数组中规定的巡逻点路径进行移动。 一旦到达一个巡逻点,敌人将选择下一个巡逻点并继续移动。
阅读全文