Nein^^ der rote Block ist kein Object xD das ist das Grid, welches ich habe zeichnen lassen.
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?
GML-Quellcode
- ///obj_Geist
- ///Create Event
- /// Creat the Path
- path=path_add();
- ///Step Event
- mp_grid_path(global.grid, path, x, y, obj_Pacman.x, obj_Pacman.y, 0);
- path_set_kind(path, 0);
- path_start(path, 3, path_action_stop, 1);
- /// obj_grid
- /// Create Event
- /// Grid create
- var cell_width = 32;
- var cell_height = 32;
- var hcells = room_width div cell_width;
- var vcells = room_height div cell_height;
- global.grid=mp_grid_create(0,0,hcells,vcells,cell_width,cell_height);
- global.grid = mp_grid_create(0, 0, hcells,vcells,cell_width,cell_height)
- /// Add Instances
- mp_grid_add_instances(global.grid, obj_Block,1);
- /// Room end Event
- /// Destroy the grid
- mp_grid_destroy(global.grid);
- /// Draw Event
- draw_set_alpha(0.3);
- mp_grid_draw(global.grid);
- draw_set_alpha(1);
- /// obj_Pacman (obj_Geist soll dieser Figur folgen
- ///Create Event
- speed=0;
- ///Step Event
- if (keyboard_check(ord('W')))
- {
- direction= 90
- speed=5
- }
- if (keyboard_check(ord('S')))
- {
- direction= 270
- speed=5
- }
- if (keyboard_check(ord('A')))
- {
- direction= 180
- speed=5
- }
- if (keyboard_check(ord('D')))
- {
- direction= 0
- speed=5
- }
- /// Check
- if (direction=90) and place_meeting(x,y-1,obj_Block)
- {
- speed=0;
- move_snap(32,32); /// damit der Charakte rnicht in der Wand steckenbleibt
- }
- if (direction=270) and place_meeting(x,y+1,obj_Block)
- {
- speed=0;
- move_snap(32,32); /// damit der Charakte rnicht in der Wand steckenbleibt
- }
- if (direction=0) and place_meeting(x+1,y,obj_Block)
- {
- speed=0;
- move_snap(32,32); /// damit der Charakte rnicht in der Wand steckenbleibt
- }
- if (direction=180) and place_meeting(x-1,y,obj_Block)
- {
- speed=0;
- move_snap(32,32); /// damit der Charakte rnicht in der Wand steckenbleibt
- }
- /// Kollision with obj_Block
- ///Fill
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?