Page 1 of 1

Variable ändert sich nur innerhalb von OnTriggerEnter

Posted: 22 Dec 2024, 18:48
by Guest
Ich versuche, die Health-Variable mithilfe der OnTriggerEnter-Funktion zu ändern. Das funktioniert, aber nur innerhalb der Funktion. Überall sonst bleibt es gleich.
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);
}
}
}

Ich habe verschiedene Möglichkeiten ausprobiert, von der Verwendung einer anderen Variablen, um die Health-Variable auf sich selbst zu übernehmen, bis hin zu anderen Möglichkeiten, die ich finden konnte, aber es funktioniert nicht. Das Debug.Log(Health); zeigt zwar die richtigen Zahlen an, ändert sich also, aber offenbar nur in der Funktion selbst.