Gridbasierendes Kisten schieben

  • GM 8

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

  • Gridbasierendes Kisten schieben

    Hallo gm-d,

    eine denkbar simple Aufgabe zereist mir Momentan den Kopf. Wie schaffe ich es, eine Kiste vor mir herzuschieben (Top-down, gridbasierend). Das ist, was ich bis jetzt habe:

    GML-Quellcode

    1. if (keyboard_check(vk_nokey))
    2. {
    3. if place_snapped(_grid,_grid)
    4. {
    5. vspeed=0;
    6. hspeed=0;
    7. image_spd = 0;
    8. }
    9. }
    10. //LEFT
    11. if (keyboard_check(vk_left)){
    12. if place_snapped(_grid,_grid)
    13. {
    14. if place_free(x-1,y){
    15. hspeed = -_movespeed;
    16. _dir = 2;
    17. image_spd = 0.1;
    18. sprite_index = spr_player_walk_left;
    19. } else {
    20. if (place_meeting(x-1,y,obj_moveable) == true &! place_meeting(x-17,y,obj_block)){
    21. hspeed = -_movespeed;
    22. _dir = 2;
    23. image_spd = 0.1;
    24. sprite_index = spr_player_walk_left;
    25. inst = instance_place(x-1,y,obj_moveable);
    26. inst.x = x-16;
    27. }else{
    28. hspeed=0;
    29. };
    30. }
    31. vspeed=0;
    32. }
    33. }
    Alles anzeigen


    Und dann halt noch für die Anderen (rechts, oben, unten). Wo ist der Fehler, geht es auch anders/besser?
    LG Afroman
  • Ich verstehe das nicht so ganz, aber wenn ich was vor mir her schiebe benutze ich den code in etwa.

    GML-Quellcode

    1. with(other) {
    2. direction = point_direction(x, y, other.x, other.y) + 180;
    3. speed = other.speed; //Oder halt einfach irgendeine Zahl
    4. }
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.
  • Hallo

    Ich hab dir was nach einem tut gemacht, ist zwar D&D aber evtl. kannst du es dir "umschreiben".
    Funktioniert einwandfrei, qausi eine Sokobansteuerung.


    sokoban.gmz
    lg Vectorhead

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