-
Posts
50 -
Joined
-
Last visited
Recent Profile Visitors
1,356 profile views
BlackDullah's Achievements

Advanced Member (3/3)
2
Reputation
-
Hi, vielleicht kann mir jemand helfen Ich möchte, dass mein Gegner alle paar Sekunden eine Axt wirft. Diese Axt soll schräg nach oben geworfen werden und dann in einem Bogen nach unten (halt wie man eine Axt wirft). Die Stärke des Wurfs sollte variieren. Entweder mit einem Random Wert, oder sie sollte sich am Spieler orientieren (eine Art Verfolgung). So ein Wurf ungefähr (https://www.youtube.com/watch?v=l8K3KmOJUsI&t). So sieht das Ding mittlerweile aus: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Axt_Spawner : MonoBehaviour { public GameObject axtprefab; bool spawnerActive; void Start() { spawnerActive = false; } public void SpawnAxt() { if (spawnerActive == true) { Debug.Log("SpawnAxt"); GameObject axt = Instantiate(axtprefab); axt.transform.position = transform.position; } } public void InvokeRep () { spawnerActive = true; InvokeRepeating("SpawnAxt", 0, 1); } } In einer bestimmten Situation springe ich in das Script in die Methode "InvokeRep" . Ich denke dass mein Vorhaben in ein paar kleinen Zeilen in der "SpawnAxt()" sich umsetzen lassen würde. Leider bisher ohne Erfolg. Vielleicht isses ja einfacher als ich denke Vielen Dank, Black Dullah
-
Hat sich erledigt. Habe in der If Abfrage etwas geändert, was meiner Meinung nach keinen Sinn ergibt. Jedoch funktioniert es jetzt. Komisch.
-
Hallo, ich habe seit Tagen folgendes Problem. Ich rufe eine Animation auf, jedoch wird eine völlig andere aufgerufen. Ich finde den Fehler nicht. Code sieht folgendermaßen aus: IEnumerator Dead() { Debug.Log("4 Treffer"); isThrowing = false; isDead = true; anim.SetTrigger("isDead"); yield return new WaitForSeconds(4f); // isDead = false; bootscontroller.Spawn(); Destroy(gameObject); } Die Ausgabe "4 Treffer" erscheint. Die Animation ist auch richtig verknüpft. Es geht um einen Gegner, der die Animation aufrufen soll, dass er besiegt ist. Jedoch erscheint die Animation, dass er nur Schaden nimmt. Es gibt 4 Stufen: 1 Treffer: Animation 1 2 Treffer: Animation 2 3 Treffer: Animation 3 4 Treffer: Animation 4 (und diese funktioniert nicht) In dem Skript finde ich keinen Fehler. Vielleicht kann mit jemand nen Denkanstoß geben, wo ich nach dem Fehler suchen kann. Vielen Dank, Black Dullah
-
Ah ok super. Das ganze funktioniert jetzt! 🙂 Vielen Dank!
-
Hm, doch. Aber mir ist etwas aufgefallen. Wenn ich auf "Play" drücke, geht die Referenz verloren. Jedoch verstehe ich noch nicht warum.
-
Hi, es geht um den bootscontroller: public class OrcController : MonoBehaviour { public HealthSystem healthsystem; private bool hitable; public float Hitpoints; //public float maxHitpoints = 5; public GameObject rolenderding; bool isHurting; bool isDead; bool isSlashing; public BootsController bootscontroller; public Vector3 startPos; public Vector3 newPos; public float orcSpeed = 10f; Animator anim; // Start is called before the first frame update void Start() { healthsystem = FindObjectOfType<HealthSystem>(); bootscontroller = FindObjectOfType<BootsController>(); hitable = true; anim = GetComponent<Animator>(); startPos = transform.position; } Zusätzlich muss ich im Inspector reinziehen.
-
Hi Community, wie löse ich das am einfachsten, dass ein Gegner ein Item/Objekt spawnt? Ich habe mittlerweile etliche Möglichkeiten wie ich dachte es würde funktionieren ausprobiert. Leider immer ohne Erolg. Ich versuche es mal verständlich darzustellen. Ich befinde mich in dem ControllerScript meines Gegners in diesem IEnumerator: IEnumerator Dead() { isDead = true; yield return new WaitForSeconds(4f); isDead = false; Destroy(gameObject); DropItem(); } Springe nun in "Drop Item": public void DropItem() { bootscontroller.Spawn(); } Springe in ein anderes Script namens BootsController in die Spawn Funktion: public class BootsController : MonoBehaviour { public CharacterController2D ccontroller; public GameObject objectToDisable; //public static bool sichtbar = false; public int active = 0; // Start is called before the first frame update public void Start() { if (active == 0) { objectToDisable.SetActive(false); } else { objectToDisable.SetActive(true); } } public void Spawn() { active = 1; //objectToDisable.SetActive(true); Start(); } Ich hab sehr viel rumprobiert, mag sein, dass da momentan etwas verwurschtelt ist, was mir nicht auffällt. Fehlermeldung: NullReferenceException: Object reference not set to an instance of an object OrcController.DropItem () (at Assets/Scripts/Enemies/OrcController.cs:77) OrcController+<Dead>d__14.MoveNext () (at Assets/Scripts/Enemies/OrcController.cs:107) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <82ec470c913149358ad0c83ad628910c>:0) Gruß, BlackDullah
-
Finn Fuchs - Abenteuer im Zauberwald - 2D Jump&Run
BlackDullah replied to grinseengel's topic in Vorstellung eurer Projekte
Ah ok, danke für die Info. Das Thema muss ich mir demnächst auch mal anschauen 😀 -
Finn Fuchs - Abenteuer im Zauberwald - 2D Jump&Run
BlackDullah replied to grinseengel's topic in Vorstellung eurer Projekte
Hi. Ich finde diese Spiel extrem cool. Ich bin gerade an meinem ersten 2D Jump N Run dran und hab mir gerade als Inspiration dein Spiel angeschaut. Kurz vorab: Woran ich mich nicht gewöhnen kann ist die Sprungtaste (Pfeil nach oben) aber das ist ja geschmackssache Aber eine Frage hätte ich noch zum Spiel. Und zwar speicherst du alle Informationen in den PlayerPrefs? Gruß, BlackDullah