Hack and Slay Sprite Frage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hack and Slay Sprite Frage

    Hi, bin ziemlich neu was Game Maker angeht und hab schon lang nicht daran gearbeitet, doch jetzt hab ich mit einem neuen Project angefangen, einem Hack´n´Slay und jetzt die erste Frage :)

    Mein Char ist soweit das er gehen kann, sich in bestimmte richtungen umdrehen kann (if press A change sprite "player_left") usw, doch jetzt will ich das wenn ich zb.linke maustaste drücke, er ein Feuerball abschießt und dazu hab ich bereits ein neues Sprite von ihm, doch wie kann ich jetzt sein sprite umändern von "stehen" auf "angreffen" ich kann so machen das wenn ich links drücke das er zu sprite "attack_left" wechselt doch kommt blöd rüber wenn er grad rechts steht... hoffe da gibt es eine Lösung mit einem Script oder einer Variable... :) :D
    Infinite in mystery is the gift of the Goddess..

  • Du kannst eine Variable erstellen und sie ändern, wenn er die richtung ändert. Z.B.

    GML-Quellcode

    1. //wenn du A drückst:
    2. player_dir = 3 //0=unten, 1=rechts, 2=oben, 3=links


    wenn du angreifst pruefst du dann in welcher Richtung der Spieler steht

    GML-Quellcode

    1. if player_dir=3 {
    2. sprite_index = spr_angriffLinks}


    das machst du halt mit allen Richtungen

    mfG Stupe
    Grüße Stupe
  • Na klar ;)

    Also im Create Event schreibst du

    GML-Quellcode

    1. global.player_dir = 0;


    Da im Key-pressed Event schreibst du bei Taste A:

    GML-Quellcode

    1. global.player_dir = 3;


    Dasselbe machst du mit den anderen Bewegungstasten nur halt mit anderen Zahlenwerten (unten =0, rechts = 1, oben = 2, links = 3)

    Dann machst du beim Maustasten Event:

    GML-Quellcode

    1. if player_dir = 0 {
    2. sprite_index = deinSpriteFuerAngriffUnten}
    3. else if player_dir = 1 {
    4. sprite_index = deinSpriteFuerAngriffRechts}
    5. usw...


    wenn noch irgendetwas unklar ist, einfach besheidsagen
    Grüße Stupe
  • Vielen Dank für den Script doch da kommt immer ein Error:


    FATAL ERROR in
    action number 1
    of Mouse Event for Left Button
    for object player:

    COMPILATION ERROR in code action
    Error in code at line 3:
    else player_dir = 1 {
    ^
    at position 2: Unexpected symbol in expression.


    der script sieht so aus:


    if player_dir = 0 {
    sprite_index = player
    else player_dir = 1 {
    sprite_index = player_magicR
    else if player_dir = 3 {
    sprite_index = player_magicL
    Infinite in mystery is the gift of the Goddess..

  • Achja. Du musst nach jedem "if-block", bei der du eine geschweifte Klammer geöffnet hast die Klammer auch wieder zumachen

    GML-Quellcode

    1. if player_dir = 0 { sprite_index = player_right}
    2. else if player_dir = 1 { sprite_index = player_magicR}
    3. else if player_dir = 3 { sprite_index = player_magicL}
    Grüße Stupe
  • Benutzer online 1

    1 Besucher