Pathfinding

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

  • Nein^^ der rote Block ist kein Object xD das ist das Grid, welches ich habe zeichnen lassen.

    GML-Quellcode

    1. ///obj_Geist
    2. ///Create Event
    3. /// Creat the Path
    4. path=path_add();
    5. ///Step Event
    6. mp_grid_path(global.grid, path, x, y, obj_Pacman.x, obj_Pacman.y, 0);
    7. path_set_kind(path, 0);
    8. path_start(path, 3, path_action_stop, 1);
    9. /// obj_grid
    10. /// Create Event
    11. /// Grid create
    12. var cell_width = 32;
    13. var cell_height = 32;
    14. var hcells = room_width div cell_width;
    15. var vcells = room_height div cell_height;
    16. global.grid=mp_grid_create(0,0,hcells,vcells,cell_width,cell_height);
    17. global.grid = mp_grid_create(0, 0, hcells,vcells,cell_width,cell_height)
    18. /// Add Instances
    19. mp_grid_add_instances(global.grid, obj_Block,1);
    20. /// Room end Event
    21. /// Destroy the grid
    22. mp_grid_destroy(global.grid);
    23. /// Draw Event
    24. draw_set_alpha(0.3);
    25. mp_grid_draw(global.grid);
    26. draw_set_alpha(1);
    27. /// obj_Pacman (obj_Geist soll dieser Figur folgen
    28. ///Create Event
    29. speed=0;
    30. ///Step Event
    31. if (keyboard_check(ord('W')))
    32. {
    33. direction= 90
    34. speed=5
    35. }
    36. if (keyboard_check(ord('S')))
    37. {
    38. direction= 270
    39. speed=5
    40. }
    41. if (keyboard_check(ord('A')))
    42. {
    43. direction= 180
    44. speed=5
    45. }
    46. if (keyboard_check(ord('D')))
    47. {
    48. direction= 0
    49. speed=5
    50. }
    51. /// Check
    52. if (direction=90) and place_meeting(x,y-1,obj_Block)
    53. {
    54. speed=0;
    55. move_snap(32,32); /// damit der Charakte rnicht in der Wand steckenbleibt
    56. }
    57. if (direction=270) and place_meeting(x,y+1,obj_Block)
    58. {
    59. speed=0;
    60. move_snap(32,32); /// damit der Charakte rnicht in der Wand steckenbleibt
    61. }
    62. if (direction=0) and place_meeting(x+1,y,obj_Block)
    63. {
    64. speed=0;
    65. move_snap(32,32); /// damit der Charakte rnicht in der Wand steckenbleibt
    66. }
    67. if (direction=180) and place_meeting(x-1,y,obj_Block)
    68. {
    69. speed=0;
    70. move_snap(32,32); /// damit der Charakte rnicht in der Wand steckenbleibt
    71. }
    72. /// Kollision with obj_Block
    73. ///Fill
    Alles anzeigen


    Habe hier alle Codes aufgeschrieben. Dabei sind die Wände obj_Block mit Origin 0/0 undobj_Geist und obj_Pacman zentriert. Eigentlich sollte die Figur obj_Geist in einem Labyrinth mit einer Breite einer Zelle von obj_Block(also 32/32) folgen. Jedoch kürzt diese immer ab wie z.B. das Objekt ignoriert eine Ecke des Blockes. Jedoch besteht momentan auch das Problem, dass obj_Geist gar nicht erst startet...

    wie soll ich denn den Ordner euch geben?
  • habe ich ja instances sind auf origin 0/0 und die Player auf origin zentriert.

    hier das Problem in Video habe versucht es aufzunehmen:


    und ja die Musik ist nur hier da es noch komische Hintergrundstöne hat xD

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