hallo
also ich mache ein spiel und ich habe jetzt die sprites bestimmt wie zb: das wenn der spieler nach links drückt das sprite spr_player_run_left benutzt wird und das selbe für rechts und fürs stehen bleiben.
jedoch hab ich das problem das ich nicht weiß wie ich es machen kann das er die sprites fürs springen benutzt....also wenn er nach rechts springt auch das spr_player_jump_right benutzt wird. und dasselbe für links.
und wenn er nur springt soll er halt das sprite nehmen das in die selbe richtung schaut...
hier mal mein code.
im CREATE EVENT von OBJ_PLAYER ist nur eine variable namens lastpressed="right";
END STEP EVENT VON OBJ_PLAYER
Alles anzeigen
bitte könnt ihr mir dabei helfen
also ich mache ein spiel und ich habe jetzt die sprites bestimmt wie zb: das wenn der spieler nach links drückt das sprite spr_player_run_left benutzt wird und das selbe für rechts und fürs stehen bleiben.
jedoch hab ich das problem das ich nicht weiß wie ich es machen kann das er die sprites fürs springen benutzt....also wenn er nach rechts springt auch das spr_player_jump_right benutzt wird. und dasselbe für links.
und wenn er nur springt soll er halt das sprite nehmen das in die selbe richtung schaut...
hier mal mein code.
im CREATE EVENT von OBJ_PLAYER ist nur eine variable namens lastpressed="right";
END STEP EVENT VON OBJ_PLAYER
GML-Quellcode
- hspeed=0;
- if keyboard_check(vk_left) or keyboard_check(ord("A")) ///nach links gehn
- {
- hspeed-=7;
- lastpressed="left";
- sprite_index=spr_player_run_left;
- image_speed=0.2;
- }
- if keyboard_check_released(vk_left) or keyboard_check_released(ord("A")) // wenn die linke taste ausgelassen wird
- {
- image_speed=0;
- sprite_index=spr_player_idle_left;
- }
- if keyboard_check(vk_right) or keyboard_check(ord("D")) //nach rechts gehn
- {
- hspeed+=7;
- lastpressed="right";
- sprite_index=spr_player_run_right;
- image_speed=0.2;
- }
- if keyboard_check_released(vk_right) or keyboard_check_released(ord("D")) //wenn die rechte taste ausgelassen wird
- {
- image_speed=0;
- sprite_index=spr_player_idle_right;
- }
- if keyboard_check_pressed(vk_up) or keyboard_check_pressed(ord("W")) ///springen
- {
- if place_free(x,y+10)== false
- vspeed-=14;
- }
- if place_free(x+hspeed,y) == false ////KOllisionserkennung links rechts
- {
- if (hspeed > 0){
- move_contact_solid(0,-1)} ///0 ist rechts 180 ist links
- if (hspeed < 0){
- move_contact_solid(180,-1)}
- hspeed=0;
- }
- vspeed+= 0.5;
- if place_free(x,y+vspeed) == false //// Kollisionserkennung oben unten
- {
- if (vspeed > 0){
- move_contact_solid(270,-1)} ///270 ist unten 90 ist oben
- if (vspeed < 0){
- move_contact_solid(90,-1)}
- vspeed=0;
- }
- if place_free(x+hspeed,y+vspeed) == false
- {
- hspeed=0;
- }
- if keyboard_check_released(vk_up) or keyboard_check_released(ord("W"))
- {
- if (vspeed < 0)
- vspeed /=2;
- }
- view_xview= ((x-view_wview/2)+view_xview*9)/10; //view
- view_yview= ((y-view_hview/2)+view_yview*9)/10;
- //view nicht aus dem raum geht
- if (view_xview <0)
- {
- view_xview=0;
- }
- if (view_yview <0)
- {
- view_yview=0;
- }
- if (view_xview > room_width-view_wview)
- {
- view_xview=room_width-view_wview;
- }
- if (view_yview > room_height-view_hview)
- {
- view_yview=room_height-view_hview;
- }
bitte könnt ihr mir dabei helfen