你上面给我的代码enemy.timer += Time.deltaTime; // 如果计时器超过3秒,进入巡逻状态 if (enemy.timer > 3f) { enemy.StartPatrolling(); }不可用,它说enemy.timer具有一定的保护级别
时间: 2024-03-22 21:39:02 浏览: 32
c++写的魂斗罗.rar(源代码+编译好的程序)
根据你提供的信息,这个错误是因为`enemy.timer`的访问级别被限制了,无法从当前的上下文中访问它。这通常是因为`enemy.timer`是私有的或受保护的。
解决这个问题的方法有两种:
1. 如果你有权限修改`enemy`类,可以将`timer`的访问级别改为`public`,这样它就可以从其他类中直接访问了。
2. 如果你无法修改`enemy`类,可以在`enemy`类中添加一个公共方法,用于返回`timer`的当前值。然后在当前类中调用这个方法来获取`timer`的值,而不是直接访问`enemy.timer`。
例如,你可以在`enemy`类中添加以下方法:
```
public float GetTimer()
{
return timer;
}
```
然后在当前类中使用以下代码来获取`timer`的值:
```
enemy.GetTimer() += Time.deltaTime;
if (enemy.GetTimer() > 3f)
{
enemy.StartPatrolling();
}
```
这样就可以避免访问级别的限制了。
阅读全文