hspd=0 vspd=0 velocidad=3 //Movimiento Horizontal if keyboard_check(ord("A")) { hspd=-velocidad; } if keyboard_check(ord("D")) { hspd=velocidad; } if place_meeting(x+hspd,y, METEORO){ repeat(velocidad){ if !place_meeting(x+sign(hspd), y, METEORO){ x+=sign(hspd) } } hspd=0 } x+=hspd //---------------------------- //Movimiento Vertical if keyboard_check(ord("W")) { vspd=-velocidad; } if keyboard_check(ord("S")) { vspd=velocidad; } if place_meeting(x,y+vspd, METEORO){ repeat(velocidad){ if !place_meeting(x, y+sign(vspd), METEORO){ y+=sign(vspd) } } vspd=0 } y+=vspd if mouse_check_button_pressed(mb_left) instance_create(x,y,DISPARO)