unity敌人随机行走
时间: 2023-07-01 11:04:58 浏览: 363
要实现敌人随机行走,你可以按照以下步骤进行:
1. 创建一个空物体,并给它添加一个敌人AI脚本,这个脚本将控制敌人的随机行走。
2. 在敌人AI脚本中,使用Random.Range函数生成一个随机方向向量,控制敌人向这个方向移动。
3. 在Update函数中,让敌人检测是否到达了预设的目标点,如果到达了,重新生成一个随机方向向量,并设置新的目标点。
4. 如果敌人被玩家攻击,可以暂停随机行走,转而攻击玩家。
以下是一个示例代码:
```csharp
public class EnemyAI : MonoBehaviour
{
public float speed = 2f;
public float changeTime = 3f;
private Rigidbody2D rb;
private Vector2 movementDirection;
private float movementTime;
void Start()
{
rb = GetComponent<Rigidbody2D>();
movementTime = changeTime;
GetRandomDirection();
}
void Update()
{
// 移动敌人
rb.velocity = movementDirection * speed;
// 更新移动时间
movementTime -= Time.deltaTime;
if (movementTime <= 0f)
{
GetRandomDirection();
}
}
// 生成随机方向向量
void GetRandomDirection()
{
movementDirection = new Vector2(Random.Range(-1f, 1f), Random.Range(-1f, 1f)).normalized;
movementTime = changeTime;
}
}
```
在上面的示例代码中,敌人每隔一段时间会生成一个随机方向向量,并朝这个方向移动。你可以根据自己的需求调整移动速度和改变时间。
阅读全文