Hallo,
ich habe folgendes problem, bzw. ein verständnisproblem
ich habe eine Objekt (Schiebestein) wenn dieser vom Player getroffen/berührt wird soll der Stein sich vom Player weg bewegen und aber wenn er dann z.B an einer Wand anstösst stoppen.
Kollisionsmöglichkeiten sind oben,unten,links und rechts.
Wenn ich nun eine abfrage von einer seite mache,z.B. Collision von links, geht es im grunde,
kommt nun eine 2 kollision , z.B. von rechts dazu, wird immer nur die 2. abfrage gestartet.
Alles anzeigen
ich habe folgendes problem, bzw. ein verständnisproblem

ich habe eine Objekt (Schiebestein) wenn dieser vom Player getroffen/berührt wird soll der Stein sich vom Player weg bewegen und aber wenn er dann z.B an einer Wand anstösst stoppen.
Kollisionsmöglichkeiten sind oben,unten,links und rechts.
Wenn ich nun eine abfrage von einer seite mache,z.B. Collision von links, geht es im grunde,
kommt nun eine 2 kollision , z.B. von rechts dazu, wird immer nur die 2. abfrage gestartet.
Quellcode
- var speedbreak
- speedbreak = 0.2
- // von links
- // wenn der platz links vom Stein nicht mehr frei ist, dann...
- if not place_empty(x-global.speedx,y)
- {
- // bewege den stein auf der xAchse 90 Pixel weit nach rechts
- // in der globalen geschwindigkeit von 6 Pixel pro frame
- move_towards_point(x+80,y,global.speedx)
- // die bewegungsgeschwindigkeit um 0.2 Pixel pro frame abbremsen
- friction = speedbreak
- }
- // von rechts
- if not place_empty(x+global.speedx,y)
- {
- move_towards_point(x-80,y,global.speedx)
- friction = speedbreak
- }
- // von oben
- if not place_empty(x,y-global.speedx)
- {
- move_towards_point(x,y+80,global.speedx)
- friction = speedbreak
- }
- // von unten
- if not place_empty(x,y+global.speedx)
- {
- move_towards_point(x,y-80,global.speedx)
- friction = speedbreak
- }