Jumpn Run Tut

  • Jumpn Run Tut

    Hi. Ich versuch derzeit das Jumpn Run Tutorial. Allerdings möchte ich es mit Code und nicht mit dem Drag an Drop machen.

    Nun verstehe ich allerdings etwas einfach nicht... Es funktioniert zwar und ich habe es sogar gecodet (also zumindest das erste) und zwar so:

    GML-Quellcode

    1. Information about object: OBJ_Player
    2. Sprite: SPR_Char_1_Rechts_Still
    3. Solid: false
    4. Visible: true
    5. Depth: 0
    6. Persistent: false
    7. Parent: <no parent>
    8. Mask: <same as sprite>
    9. Create Event:
    10. execute code:
    11. HP = 100;
    12. image_speed = 0.25;
    13. Step Event:
    14. execute code:
    15. if (place_free(x,y+1))
    16. {
    17. gravity_direction = 270;
    18. gravity = 0.5;
    19. };
    20. else
    21. {
    22. gravity = 0;
    23. };
    24. if (vspeed > 12) vspeed = 12;
    25. Collision Event with object OBJ_Solid_16x16:
    26. move in direction direction at most 0 till a contact with solid objects
    27. set the vertical speed to 0
    28. Keyboard Event for <no key> Key:
    29. execute code:
    30. if (keyboard_lastkey = vk_left) sprite_index = SPR_Char_1_Links_Still;
    31. if (keyboard_lastkey = vk_right) sprite_index = SPR_Char_1_Rechts_Still;
    32. Keyboard Event for <Space> Key:
    33. execute code:
    34. if (place_free(x,y+1) = 0)
    35. {
    36. vspeed = -7;
    37. sound_play(sound1);
    38. }
    39. Keyboard Event for <Left> Key:
    40. execute code:
    41. if (place_free(x-3,y))
    42. {
    43. x -= 3;
    44. sprite_index = SPR_Char_1_Links;
    45. }
    46. Keyboard Event for <Right> Key:
    47. execute code:
    48. if (place_free(x+3,y))
    49. {
    50. x += 3;
    51. sprite_index = SPR_Char_1_Rechts;
    52. }
    Alles anzeigen


    Allerdings mein Problem ist eben. Ich verstehe das mit der Variable vspeed nicht wirklich... kann mir das jemand besser erklären als im Tutorial wie das funktioniert damit? Und ich verstehe ebenso den Befehl move in direction nicht, warum dieser hier eingesetzt wird.. Und wie würde man das in GML schreiben?
  • Vspeed ist die rein vertikale Geschwindigkeit, also von oben nach unten.
    Wenn diese größer als 12 ist (sich der Char also um mehr als 12 Pixel pro step nach unten bewegt) wird der Wert zurück auf 12 gesetzt, damit er keine unendlich große Geschwindigkeit erreichen kann.

    Move in Direction bewirkt, dass das betreffende Objekt in eine angegebene Richtung mit einer angegebenen Geschwindigkeit in Bewegung setzt.
    (Falls du es noch nicht wusstest:
    0° = rechts
    90° = oben
    180° = links
    270° = unten)
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Ok. Thx. Es funktioniert doch langsam. Leider kann ich keinen Thread im Lernprojekt Forum machen deswegen poste ich es mal hier.

    rapidshare.com/files/76818544/Lars_Adventure.gmk.html

    Hab ich mal gemacht. So wie ist das? Wie findet ihrs? Nun möchte ich Score Anzeige der Münzen einfügen, allerdings hab ich 0 Plan wie ich das angehen soll, da es immer nur auf den Raum hinzeichnet und nicht auf den "bildschirm"....

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DerBeginner ()

  • Um den Score im View ("Bildschirm") zu drawn, musst du einfach nur im Draw-Event in einem Object (z.B. ein Controller Object) folgendes schreiben:

    GML-Quellcode

    1. draw_sprite(spr_score,0,view_xview[0]+32,view_yview[0]+32)) //Drawt ein Sprite (ich würd da einfach den Münzsprite nehmen) oben links in der Ecke
    2. //spr_score musst du mit deinem Sprite ersetzen
    3. draw_text(view_xview[0]+68,view_yview[0]+32,"x"string(score)) //und den Score rechts daneben


    Das ist jetzt so, wie bei SuperMario: das sieht dann beispielsweise so aus: Münzbild x 32
    Wenn du einfach nur den Score drawn willst, einfach das draw_sprite weglassen
  • Das mit dem Sprite funktioniert bei mir nicht. Da kommt nur:

    GML-Quellcode

    1. ___________________________________________
    2. FATAL ERROR in
    3. action number 1
    4. of Draw Event
    5. for object OBJ_Draw:
    6. COMPILATION ERROR in code action
    7. Error in code at line 1:
    8. draw_sprite(SPR_Kristall,0,view_xview[0] + 32,view_yview[0] + 32 ));
    9. at position 67: Unexpected symbol in expression.
    Alles anzeigen


    Mit dem Text funktioniert es. Allerdings ist die Schriftart viel zu groß und ich will kein Antialias.... finde in der Hilfe allerdings keinen Befehl um Größe oder Form der Schriftart zu ändern....
  • Wenn du meinst, dass du nicht weist, wie du die Schriftgröße veränderst:

    Hab jetzt gerade kein GM, aber die Schriftgröße/-art, kannst du ändern, indem du eine Font erstellst (Add->Add Font), und dann im draw-Event das:

    GML-Quellcode

    1. draw_set_font(fnt) //fnt musst du durch deine Font ersetzen
    2. //das, was du drawn willst
    3. draw_set_font(-1) //stellt die Schriftgröße/-art wieder auf den Standart
  • Ah, ok jetzt hast mir etwas geholfen allerdings hätt ich noch ne kleine Frage, aber hättest Lust MSN on zu gehen kurz noch eventuell?

    EDIT: Habe meinen alten Account wieder entdeckt ;) Könnt als "DerBeginner" löschen.

    EDIT²: Leider weis ich immer noch nicht wie die grafikeffekte um den text wegkriegt, sodass es rein der text nur noch ist...

    Als Beispiel:
    Bilder
    • richtig.png

      244 Byte, 32×32, 187 mal angesehen
    • Falsch.png

      410 Byte, 32×32, 185 mal angesehen
    Projekt: Lars Adventure, Plattform / Adventure Game. Anfängerspiel! ^^

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von MSG ()

  • Fonts gibts nur im Advance Mode, falls der noch nicht aktiviert ist: "File" --> "Advance Mode".
    Rechtsklick auf "Fonts" --> "Add Font".
    Name: Egal.
    Font: Courier, Small Fonts, ...
    Size: Je nach dem was gewünscht.
    Bold/Italic: Auf Wunsch auch Fett und/oder Schräg xD
    Character Range: Eigentlich immer ALL.

    D&D:
    Set the Font: dein_font, Ausrichtung
    GML:

    GML-Quellcode

    1. draw_set_font(dein_font);

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von copyboy ()

  • Ok. Also ich brauche einen Font, der bereits ein SmallFont ist oder? Gut ich habe einen gefunden und das mit der Anzeige funktioniert :)


    Allerdings weis ich noch immer nicht wie ich nun die Farbe ändere und habe es nicht gefunden... btw, ab wann kann man den nen Thread im Lernprojekt Forum aufmachen?.....

    EDIT: aaah, draw_set_color(col) ist des rätsels Lösung. Habs herausgefunden ^^ trotzdem danke.
    Bilder
    • LarsAdventure.jpg

      76,67 kB, 1.280×800, 152 mal angesehen
    Projekt: Lars Adventure, Plattform / Adventure Game. Anfängerspiel! ^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MSG ()