Jump to position code

  • GM 8
  • Jump to position code

    Hallo, ich hab ein Problem

    Zur Zeit arbeite ich an einen Strategie Spiel in denen sich Kreaturen in einen 6 Eckigen Feld bewegen.

    Als Bewegungs Code benutze ich

    Left Pressed


    with( object0)
    {
    x = 256
    y = 186
    }


    Dadurch kann sich meine Kreatur von jeder Position aus auf das angegebene Feld bewegen.

    Ich möchte jetzt das sich die kreatur nur in angrenzende Felder bewegen kann.

    z.B das sie sich nur zum Feld x,256,y186 bewegen kann wenn sie im Feld x256,y.128 steht.

    Kann mir bitte jemand sagen welchen code ich dafür eingeben muss?

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

  • Dein Beispiel einfach mal 1zu1 in GML übersetzt

    GML-Quellcode

    1. if keyboard_check(vk_left)
    2. {
    3. if x=256 and y=128
    4. {
    5. x=256;
    6. y=186;
    7. }
    8. ]


    Wäre aber natürlich schwachsinn, für jeden möglichen Fall eine Abfrage durchzuführen.
    Daher würde ich checken ob in der gewünschten Richtung ein freies Feld ist und entsprechend in dei gewünschte Richtung relativ bewegen.
    Da ich dein Spielfeldaufbau nicht kenne, eifnach mal als Beispiel ein viereckiges 32*32 Raster:

    GML-Quellcode

    1. if keyboard_check(vk_left)
    2. {
    3. if place_free(x-32,y)
    4. {
    5. x-=32;
    6. }
    7. }
    8. if keyboard_check(vk_up)
    9. {
    10. if place_free(x,y-32)
    11. {
    12. y-=32;
    13. }
    14. }
    15. //usw...
    Alles anzeigen
  • Benutzer online 1

    1 Besucher