Если вы хотите отлаживать значение каждого кадра, это будет работать:
public class healthScript : MonoBehaviour
{
//Variable declaration
private int _health;
// Use this for initialization
void Start()
{
_health = 100;
}
// Update is called once per frame
void Update () {
Debug.Log(_health);
}
}
Ваша ошибка состояла в том, что вы определили свою переменную внутри метода Start, поэтому она видна только внутри этого метода.Но когда вы определяете переменную внутри класса, но вне какого-либо метода, это видно внутри всего класса.Но что касается переменных, видимых внутри и снаружи класса, где они объявлены, см. manual о модификаторах доступа.
Но я могу предложить вам более удобный способ:
public class healthScript : MonoBehaviour
{
//Property
public int Health
{
get { return _health; }
set
{
_health = value;
Debug.Log("Health changed to value: " + _health);
}
}
//Variable declaration
private int _health = 100;
}
В этом случае вы используете свойства для отладки значения вашего здоровья.Поэтому каждый раз, когда вы меняете значение здоровья, подобное этому Health = someIntValue
, вы получите консольное сообщение о вашем текущем уровне здоровья.