Kommentare zu "GML - Die Einsteigerreferenz"

      Bewegung der Sprites

      Ich habe den Code von Windapple mal "fast" 1 zu 1 übernommen und es funktioniert ganz wunderbar (Die Sprites werden alle richtig angezeigt inkl Richtungswechsel), doch jetzt wollte ich mal fragen ob es auch möglich ist den Sprite wieder anzuhalten, wenn die Richtungstaste losgelassen wird? Bin echt noch anfänger und kenn mich mit gml nicht so gut aus. Denn es sieht ein bischen bescheuert aus wenn die Figur steht und der Sprite sich immer noch bewegt :D
      Der Script befindet sich in Kapitel 8.

      Also ich habs nochmal bisschen gesucht und es so gelöst:

      GML-Quellcode

      1. {
      2. var subimg, dirs, l, r, d, u;
      3. l = keyboard_check(vk_left);
      4. r = keyboard_check(vk_right);
      5. d = keyboard_check(vk_down);
      6. u = keyboard_check(vk_up);
      7. dirs = 4;
      8. if(!l && !r && !d && !u)
      9. {
      10. image_index = direction * image_number/360;
      11. image_speed=0;
      12. }
      13. else
      14. image_speed=1;
      15. subimg = (direction div (360/dirs))*(image_number div dirs);
      16. subimage_cycle(subimg, subimg + (image_number div dirs) - 1);
      17. }

      Falls es nicht gut sein sollte sagt mir bescheid.

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Steveee“ ()

      moin moin



      Ich bin noch Anfänger, und weiß nich wie ich diese aktion "Execute a piece of Code" hinzufügen kann!
      irgendwie finde ich die nicht ?(
      bitte um hilfe :rolleyes:
      danke im voraus
      mfg klaus
      Lieber mit vollem Mund reden, als mit leerem Kopf.
      Ich finde das Tut auch sehr gut und sehr übersichtlig, aber ab der hälfte Blick ich nicht mehr durch...naja :D
      They´ll take you in a land of Mysteries and Magic to defence it from the darkness...

      kaman schrieb:

      ...aber ab der hälfte Blick ich nicht mehr durch...naja :D
      In dem Fall schafft die GM-Interne Hilfedatei - Achtung, Wortspiel - ABHILFE *schenkelklopf*

      Achja, und du solltest dir das ganze nach Möglichkeit nicht zu einem unkonzentrierten Zeitpunkt zu Gemüte führen - trotz der guten Erklärungen und bemerkenswerter Lernkurve sind einige Passagen für einen blutigen Anfägner schwer zu verstehen, wenn man sich nicht konzentriert. Lies dir das ganze also besser net durch, wenn du grad mit was anderem beschäftigt bist (Schule, Ausbildung, Intensivstudium etc.), sonst bleibt nicht mal die Hälfte hängen ^^
      Mir ist gerade ein Fehler in der Einsteigerreferenz aufgefallen. WA schreibt:
      Dafür muss "test.exe" existieren und das Spiel darf nicht im sicheren Modus laufen.

      Der folgende Code:

      GML-Quellcode

      1. {
      2. if (secure_mode && file_exists("test.exe"))
      3. {
      4. show_message("test.exe kann ausgeführt werden");
      5. }
      6. else
      7. {
      8. show_message("test.exe kann nicht ausgeführt werden");
      9. }
      10. }

      überprüft aber, ob das Spiel im sicheren Modus lauft, anstatt zu überprüfen, ob es nicht im Sicheren Modus läuft.

      © 2008 by Teamgrill Productions

      MasterXY schrieb:

      Mir ist gerade ein Fehler in der Einsteigerreferenz aufgefallen...

      OH MY GOD, jetzt bin ich von dir enttäuscht, Windapple ;)
      Scherz beiseite, die Einsteigerreferenz ist wirklich absolut top :thumbsup: . Hat mir wirklich in vielen Belangen (vor allem in Sachen Bewegung & Animation) sehr weitergeholfen! Für mich schlicht & einfach das beste Tutorial zum GM überhaupt.
      Alle Daumen hoch :thumbsup:

      MasterXY schrieb:

      Mir ist gerade ein Fehler in der Einsteigerreferenz aufgefallen. WA schreibt:

      Dafür muss "test.exe" existieren und das Spiel darf nicht im sicheren Modus laufen.

      Der folgende Code:

      GML-Quellcode

      1. {
      2. if (secure_mode && file_exists("test.exe"))
      3. {
      4. show_message("test.exe kann ausgeführt werden");
      5. }
      6. else
      7. {
      8. show_message("test.exe kann nicht ausgeführt werden");
      9. }
      10. }

      überprüft aber, ob das Spiel im sicheren Modus lauft, anstatt zu überprüfen, ob es nicht im Sicheren Modus läuft.
      Ist schon in einem vorherigen Post erwähnt, mich wundert nur, dass es anscheinend noch nicht geändert wurde wenn du es nochmal aufgreifst.
      So far, Schattenphoenix~
      _____________________________________________________________________________
      "Who needs a stairway to heaven...
      If there is an elevator to hell... ?
      "
      - Vergessen
      "Auch ein perfektes Chaos ist etwas vollkommenes."
      - Jean Genet

      ghostrider schrieb:

      Am besten du sagst genau was du nicht verstehst.

      Globale Variablen sind nicht anders als normale Variablen, du musst halt nur ein "global." davorsetzen.
      Normale Variablen sind nur innerhalb des Objekts gültig, in dem man mit ihnen arbeitet. Gute Beispiele für normale Variablen sind 'x' und 'y', ind denen die aktuelle Position des Objekts eingespeichert ist. Für alle anderen Objekte sind diese Variablen nicht existent.
      Globale Variablen dagegen sind ->global, also von allen Objekten sichtbar und können auf sie kann von jedem Objekt aus zugegriffen werden. Ein Beispiel für eine globale Variable ist 'health', in der die aktuelle Lebenspunktezahl eingespeichert ist.
      Eigentlich schon. Globale Variablen werden halt benutzt um Werte, die über das ganze Spiel gültig sein sollen (z.B. die Lautstärke oder die Punktezahl). Man könnte natürlich vieles mit lokalen Variablen machen, müsste dann jedoch immer auf die Instanz mit dem Punktoperator zugreifen und das ist nicht immer die beste Methode. Wenn du einem Objekt aber Energie geben willst, solltest du natürlich lokale Variablen benutzen und nicht auf health zurückgreifen, da dies eine globale Variable ist und meist nur für den Spieler vorgesehen ist.
      und wie setzt man sie ein?
      ich beckomm es nicht hin!!!
      z.B.
      global.var gm-d; ???

      und dan zum abrufen eingach
      gm-d = true; ?

      Titan schrieb:

      und wie setzt man sie ein?
      ich beckomm es nicht hin!!!
      z.B.
      global.var gm-d; ???

      und dan zum abrufen eingach
      gm-d = true; ?
      1. Eine Variable darf nur aus Zahlen, Buchstaben, und dem unterstrich bestehen. in deinem fall glaubt nämlich das Spiel, du möchtest die variable 'gm' weniger der variable 'd' rechnen.
      2. Globale Variablen verwendest du genauso wie normale Variablen, mit dem unterschied, dass du einfach ein 'global.' vor den Variablennamen setzt.

      Beispiel Lokale Variable:

      GML-Quellcode

      1. gesundheit=100;
      2. gesundheit-=5;
      3. if (gesundheit<=0)
      4. ...usw


      Beispiel globale Variable:

      GML-Quellcode

      1. global.gesundheit=100;
      2. global.gesundheit-=5;
      3. if (global.gesundheit<=0)
      4. ...usw


      So, hoffe jetzt ist es klar ;)
      Wie bekomme ich es denn hin das bei einer Rekursion mehrere 'Äste' entsehen? Also das eine Methode sich beispielsweise 3 mal selbst aufruft? Irgendwie verarbeitet der Gm nur einen 'Ast'!
      Edit: Irgendwie habe ich vergessen ein paar Variablen als nur für dei Variable local zu deklarieren!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „maxda“ ()