我的代码有点问题。我在Unity中创建的游戏有2个C#脚本:一个名为characterstats.cs
,另一个名为enemycontroller.cs
。
我已声明一个公共变量,该变量在characterstats.cs
脚本中设置为getter和setter:
public int deathTriggerSet { get; set; }
在该脚本中,我将deathTriggerSet
值设置为2
if (currentHealth <= 0)
{
_animator.SetTrigger("DeathTrigger");
currentHealth = 0;
GetComponent<Collider>().enabled = true;
_animator.SetInteger("Death",2);
_animator.SetBool("Fire",false);
deathTriggerSet = 2;
return;
}
现在在enemycontroller.cs
脚本中,我有以下内容:
if (inRange && aC == attackCooldown && deathTriggerSet!=2)
{
Fire();
aC = 0f;
}
但是我收到以下错误
错误CS0103:名称`deathTriggerSet&#39;在当前上下文中不存在
我不想创建一个新实例,所以我有点困惑如何使用getter / setter方法检索此值,除非有更简单的方法来执行此操作?
答案 0 :(得分:3)
如果您不想创建实例,请将其设为静态
public static int deathTriggerSet { get; set; }
然后
if (inRange && aC == attackCooldown && CharacterStats.deathTriggerSet!=2)
{
Fire();
aC = 0f;
}