Переменная меняется только внутри OnTriggerEnterC#

Место общения программистов C#
Ответить
Anonymous
 Переменная меняется только внутри OnTriggerEnter

Сообщение Anonymous »

Я пытаюсь изменить переменную Health с помощью функции OnTriggerEnter. Это работает, но только внутри функции. В остальном всё так же.

Код: Выделить всё

    using UnityEngine;

public class EnemyInteractions : MonoBehaviour
{
public int Health;
public void Start()
{
Health = 10;
}
public void OnTriggerEnter(Collider player)
{
if (player.gameObject.tag == "Enemy")
{
print("HIT");
Health -= 1; // won't change outside function
Debug.Log(Health);
}
}
}
Я пробовал разные способы: от использования другой переменной для взятия самой переменной Health до использования любых других способов, которые я мог найти, но это не сработало. Debug.Log(Здоровье); Однако показывает правильные числа, поэтому они меняются, но, видимо, только в самой функции.

Подробнее здесь: https://stackoverflow.com/questions/793 ... iggerenter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»