Jump to content
Unity Insider Forum

malzbie

Moderators
  • Content Count

    4,996
  • Joined

  • Last visited

  • Days Won

    332

malzbie last won the day on August 16

malzbie had the most liked content!

Community Reputation

1,525 Excellent

2 Followers

About malzbie

  • Rank
    Moderator
  • Birthday 10/30/1968

Profile Information

  • Gender
    Male
  • Location
    Kassel, Hessen, Deutschland

Recent Profile Visitors

19,431 profile views
  1. Dein 2ter Level ist eine neue Szene? Wenn ja, dann gib dem Script einfach in der Awake() oder Start() den Befehl: DontDestroyOnLoad(). Schau dir mal den Link an, da sind einige Beispiele bei. https://docs.unity3d.com/ScriptReference/Object.DontDestroyOnLoad.html Mit diesem Befehl, wird das GameObject nicht beim Szenenwechsel zerstört und ist in der nächsten Szene noch da, mit all den Werten, die es in der alten Szene hatte. Natürlich darfst du nicht nochmal so ein Objekt in der neuen Szene haben, weil dann hättest du ja 2 Objekte der gleichen Art. Ich weiß nicht wie fortgeschritten du bist, deswegen gehe ich jetzt nicht auf ein Singleton ein. Außerdem musst du wissen, dass ein Script nicht alleine in einer Szene sein kann. Das Script muss immer auf einem Gameobject liegen, und somit solte dein Script, (welches die Werte hat) auf einem neutralen Objekt liegen, also nicht auf dem Player oder der Kamera, denn die sind in der neuen Szene bestimmt nochmal drin. Und noch was Wichtiges: Da dein Objekt sich bei einem Szenenwechsel nicht zerstört, musst du es per Befehl zerstören, wenn du aus dem Spiel ins Hauptmenü zurück gehst, oder du gestorben bist und wieder bei Lvl1 anfangen willst. Dort im Lvl1 wird ja dieses Object geladen und hat die default Werte.
  2. Warum du die Meldung bekommst, weiß ich jetzt auch nicht so direkt, da du ja schreibst, dass du das trainerPrefab hinterlegt hast. Wobei ich nicht genau weiß, was du mit hinterlegt meinst. Also du hast es im Inspector auf die Public Variable gezogen?! Du solltest aber die Variable newEnemy nicht in der Start bilden, sondern oben, wo auch dein trainerPrefab ist. Ja und dann castest du ja als GameObject, obwohl das TrainerPrefab eh vom Typ GameObject ist und du es mit newEnemy verknüpfst, was ja auch ein GameObject ist. Vielleicht mag er das ja nicht.
  3. Fein! Poste ruhig hier auch mal ab und zu, nicht nur aufm ollen Discord!
  4. @Timothyee Es ist zwar schon ne Woche her, aber vielleicht siehst du es ja doch noch. Ich habe mal ein Video zu deinen Problemen gemacht, weil es zu viel Text gewesen wäre. Hier kannste gucken:
  5. Also es ist ja so, dass du irgendwo deine Listen abarbeiten musst. Ob das nun direkt in einer Methode ist oder woanders, ist erst einmal egal. Ich persönlich würde es aber nicht innerhalb der Methode machen, in die der Button etwas sendet. Die Methode dient ja lediglich dazu, zu registrieren, dass ein UI Element etwas gemacht hat. Du kannst da einfach eine Variable verändern, die ein anderer Codebereich für die Listenabarbeitung nutzt. Das würde das Ganze übersichtlicher machen, denn die Buttons wären aus der Verarbeitung dann einfach heraus genommen. Aber wie gesagt; irgendwo musst du duch die Listen gehen. Entscheide selbst und lerne dabei ob es gut war oder eher nicht. Ich selber verändere ständig meine Herangehensweise bei neuen Projekten denn ich habe auch noch keinen goldenen Weg gefunden. Aber es wird jedes Mal besser!
  6. malzbie

    Moin

    Willkommen! Schön, dass du uns gefunden hast.
  7. Wieso müssen das die Buttons wissen? Geh doch mal anders an die Sache heran: Stell dir mal vor, die Buttons wären Leute in einer Fabrik, die einer Tätigkeit nachgehen. Die bearbeiten einfach ein Dingen nach Vorgabe, egal was später daraus wird. So ist das auch bei den Buttons. Jeder Button warten nur auf einen Klick um dann in eine definierte Methode rein zu springen. Was da drin passiert, kann den Buttons total egal sein. Innerhalb der Methode, wird ausgewertet was als nächstes passiert und ob überhaupt etwas passiert. Denn dort, oder in dem Script der Methode, ist ja klar, welche Liste gerade genutzt wird. Ob ein Button jetzt aktiv ist, und/oder welche Erscheinung er haben soll, könnte der Button für sich selber in Erfahrung bringen. Das kann aber auch von Außen gesteuert werden. Das ist eine Sache der Vorliebe und hängt davon ab, wie viele UI Objekte sich verändern sollen. Wenn du also den Kaufbutton disablen willst, wenn nicht genug Geld für das angezeigte Objekt da ist, könnte der Button eine Variable abfragen oder auf ein Event warten. Es kann aber genau so gut ein Verwaltungsscript den Button disablen bzw. enablen wenn die richtige Bedingung eingetreten ist. Außerdem: Buttons sind auch nur Gameobjects. Du kannst sie also einem EmptyObject unterordnen und dieses dann Aktivieren oder deaktivieren. Wenn der Vater deaktiviert wurde, sind die Kinder auch deaktiviert. So kannst du ganz leicht komplette Gruppen innerhalb eines Canvas ein- oder aussschalten. Oder auch einfach wo anders positionieren.
  8. Ja aber du hast da doch von nem GitHub Paket gesprochen. Ich dachte, das wäre etwas Anderes, noch im Betasatdium.
  9. @Sascha Jetzt erinnere ich mich wieder. Es gibt ja inzwischen die PixelPerfect Kamera! Ja, da wird's natürlich noch leichter.
  10. @Kabu: Das glaub ich nicht! Wenn du z.B. ein 2017er Projekt mit der 2019er öffnest, wird die Struktur dieses Projektes geändert. Und dann kann es sein, dass du es nicht mehr mit der alten Version zum Laufen bringst. Keine Ahnung wie das jetzt mit dieser neuen Nummerrierung ist, aber früher ging es nicht mehr zurück.
  11. Da scheint es keinen sauberen Zugriff mehr auf die Unity-Packages zu geben. Die liegen in deinem Userordner unter dem versteckten Ordner AppData/Local/Unity Es müsste funktionieren, wenn du diese Daten da drin einfach in Windows löschst oder besser in einen anderen Ordner verschiebst ( damit du sie noch irgendwo hast, falls es nicht funktioniert) und dann Unity neu startest und die Packages wieder über Unity neu importierst.
  12. Du musst die Textur des Fahrzeugs bearbeiten.
  13. @appo Nö. Ich nehm nix zu ernst. Mir war egal, warum du so angepisst warst und wie viel der Handhabung du überhaupt schon weißt. In deinen weiteren Texten konnte ich aber erkennen, was dir nicht klar ist und deswegen habe ich ( obwohls mir relativ egal ist) mal ein Tutorial gemacht. Das könnte dir weiter helfen. Und nicht nur bei dem "wie" sondern auch bei dem "warum"!
  14. Wir schließen nix. Ich frage mich gerade, warum deine Art zu schreiben ein gewisses angepisst sein, deinerseits, suggeriert. Bist du etwa angepisst? Kann es sein, das dir nicht ganz klar ist wie Unity arbeitet? Dass in Unity die Sprites trotz allem in einem 3D Raum sind, und nicht auf einem 2D Raster? Ist ja auch egal.
×
×
  • Create New...