Я получил Спайков и булла onSpikes
, который говорит, включен ли игрок в Спайкс или нет.
В настоящее время здоровье постоянно ухудшается, если игрок на Spikes.
if(onSpikes)
{
health -= 0.01f;
}
Но я думаю, что это не очень хорошее решение, потому что я нахожусь в void Update (), и я в любом случае хотел, чтобы здоровье падало большими кусками (как -0.2f каждую секунду).
Я уже пытался создать Метод и использовать Invoke, но так мой игрок вообще не потерял здоровье.
Код:
private void Update(){
Debug.Log("Player on Spikes: "+SpikeDMG.onSpikes);
bar.localScale = new Vector3(health,1f);
if(SpikeDMG.onSpikes)
{
Invoke("doDmg",1);
}
//Wenn leben unter 0 fällt ==> starte szene neu
if(health <=0){
int scene = SceneManager.GetActiveScene().buildIndex;
SceneManager.LoadScene(scene, LoadSceneMode.Single);
Time.timeScale = 1;
SpikeDMG.onSpikes = false;
}
}
void doDmg(){
health -= 10/100;
}
}
Спасибо всем, кто может помочь!