Hallo miteinander!
Bastle grade an nem Jump and run und hab n kleines Problem mit meiner Engine.
Der Spieler bleibt stehen sobald er auf ein solides Objekt trifft, allerdings bringt das nun das Problem mit sich dass wenn ich in der Luft bin und gegen eine Wand steuere, der Spieler einfach an der Wand kleben bleibt.
Folgender Code ist im mom zur Kollisionsabfrage im Begin Step Event des Spielerobjektes(obj_kevin):
Alles anzeigen
Im Keyboard Left Event des Spielerobjektes hab ich im Moment
Alles anzeigen
Für rechts natürlich dann gerade plus statt minus ne
.
Das Problem ist halt auch irgendwie dass ich durch die Art, wie ich die Figur hin- und herbewege keinerlei Verwendung von hspeed habe, dadurch lässt sich dass links/rechts-Bewegen der Figur halt auch nur indirekt verhindern.
wie verhindere ich dass vspeed auch bei seitlichen Berührungen mit Wände o.ä. auf 0 gesetzt wird?Kann mir jemand weiterhelfen?
Danke Leute (hab daran echt schon ne Weile rumprobiert, aber nach ner Weile sieht man eben vor lauter Bäumen den Wald nicht mehr!!
)
Bastle grade an nem Jump and run und hab n kleines Problem mit meiner Engine.
Der Spieler bleibt stehen sobald er auf ein solides Objekt trifft, allerdings bringt das nun das Problem mit sich dass wenn ich in der Luft bin und gegen eine Wand steuere, der Spieler einfach an der Wand kleben bleibt.
Folgender Code ist im mom zur Kollisionsabfrage im Begin Step Event des Spielerobjektes(obj_kevin):
Quellcode
- if(vspeed>0 && not place_free(x,y+vspeed))
- {
- move_contact_solid(270,vspeed);
- vspeed = 0;
- if(global.inair==1)
- {
- sprite_index=spr_kevin_stance1;
- alarm[0]=20;
- alarm[1]=random(200)+200;
- vspeed=0;
- gravity=0;
- global.inair=0;
- global.standing=1;
- }
- }
- if(place_free(x,y+sprite_height/2))
- {
- gravity=1.5;
- if(global.inair==0)
- {
- sprite_index=spr_kevin_jump;
- global.standing=0;
- global.walking=0;
- global.inair=1;
- }
- }
Im Keyboard Left Event des Spielerobjektes hab ich im Moment
Quellcode
Für rechts natürlich dann gerade plus statt minus ne

Das Problem ist halt auch irgendwie dass ich durch die Art, wie ich die Figur hin- und herbewege keinerlei Verwendung von hspeed habe, dadurch lässt sich dass links/rechts-Bewegen der Figur halt auch nur indirekt verhindern.
wie verhindere ich dass vspeed auch bei seitlichen Berührungen mit Wände o.ä. auf 0 gesetzt wird?Kann mir jemand weiterhelfen?
Danke Leute (hab daran echt schon ne Weile rumprobiert, aber nach ner Weile sieht man eben vor lauter Bäumen den Wald nicht mehr!!
