checkalord3 Geschrieben 19. August 2017 Melden Share Geschrieben 19. August 2017 Hi Leute! Ich habe einen kleinen Hänger. Ich weiß, dass es eigentlich so simpel ist, aber ich bekomme es einfach nicht hin, dass mein Charakter, wenn er einen Gegner haut, Schaden macht und das aber nur 1x pro Animation. Ich bin bisher so vorgegangen: Ich habe überprüft ob die Leertaste gedrückt wird. (Input.GetKey etc) Klappt Ich habe OnTriggerEnter benutzt um zu testen, ob die Waffe den Gegner berührt. Klappt Das Problem ist jetzt, dass der Gegner aber nur 1x sozusagen getroffen wird. Dauerhaft eben. Ich möchte aber, dass er jedes mal Schaden bekommt, wenn eine neue Animation anfängt. Ich habe also versucht ein Script zu schreiben, dass immer wenn die Animation startet der Hit erneut gezählt wird. Leider hänge ich noch genau an dieser Sache. Ich weiß noch nicht, wie ich anfangen soll. Ist das so überhaupt sinnvoll? Danke im Voraus! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
checkalord3 Geschrieben 19. August 2017 Autor Melden Share Geschrieben 19. August 2017 Problem ganz einfach gelöst. Stande nur auf dem Schlauch: Per OnTriggerEnter finde ich heraus, wer das GameObject ist und filtere mir dessen "Leben" heraus:public class Hauen : MonoBehaviour { Gegner gegner; void OnTriggerEnter (Collider other) { if (other.tag == "Gegner") { gegner = other.GetComponent<Gegner> (); } } } Jetzt noch in der Animation eine Funktion per Event aufrufen lassen: void Hit () { gegner.TakeDamage (5); } ein C#-Script erstellen mit folgendem Inhalt: using System.Collections;using System.Collections.Generic;using UnityEngine;public class Gegner : MonoBehaviour { public int leben; void Start () { leben = 100; } public void TakeDamage (int pschaden) { leben -= pschaden; }} Und schon bekommt der Gegner Schaden. Wer aber will, dass beim Weggehen vom GameObject, kein Schaden mehr verursachen möchte, der benutzt OnTriggerExit folgendermaßen: void OnTriggerExit () { gegner = null; //Das gemerkte GameObject wird auf null gesetzt } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.