Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Problema com o tiro

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
xxZ3USSSxx
Novato
Novato
Reações: 2
Mensagens: 12

Problema com o tiro

Mensagem por xxZ3USSSxx » Sex Ago 16, 2024 3:28 pm

Olá estou com problemas no código de tiro, ele simplesmente cria varias vezes o tiro e ele não atira pro lado contrario quando viro só pra um lado, ele tbm atira varios tiros de uma vez. Por favor me ajudem.
Segue o código abaixo:
player_create:

Código: Selecionar todos

	hspd= 0;
vspd= 0;
vel= 2;
velj= 5;

grv= 0.3;
chao= 0;

estado= "parado";
step_player:

Código: Selecionar todos

	var _right, _left, _jump, _shoot;

_right= keyboard_check(ord("D"));
_left= keyboard_check(ord("A"));
_jump= keyboard_check_pressed(ord("J"));
_shoot= keyboard_check_pressed(ord("K"));

hspd= (_right - _left) * vel;

chao= place_meeting(x,y + 1,obj_wall);

if(!chao){
	vspd += grv;	
}

switch(estado){
	case "parado":
	{
		sprite_index= spr_player;
		
		if(_right or _left){
			estado= "move";
			image_xscale= sign(hspd);
		}else if(_jump){
			estado= "pulo";
			vspd= -velj;
		}else if(_shoot){
			estado= "atk";
			hspd= 0;
			image_index= 0;
		}
		
	break;	
	}
	case "move":
	{
		sprite_index= spr_player_wlk;
		
		if(hspd= 0){
			estado= "parado";
			image_index= 0;
		}else if(_jump){
			estado= "pulo";
			vspd= -velj;
		}else if(_shoot){
			estado= "atk";
			hspd= 0;
			image_index= 0;
		}
		
	break;	
	}
	case "pulo":
	{
		if(vspd > 0){
			sprite_index= spr_player_fall;
		}else if(vspd < 0){
			sprite_index= spr_player_jump;	
		}
		
		if(image_index > image_number-1){
			image_index= image_number-1;	
		}
		
		if(chao){
			estado= "parado";
		}
		
	break;	
	}
	case "atk":
	{
		sprite_index= spr_player_shoot;
		
		if(image_index > 2){
			var _t= instance_create_layer(x+18,y-19,layer,obj_shoot);
			_t.direction= direction;
			_t.speed= 3;
		}
		
		if(image_index > image_number-1){
			estado= "parado";
		}
		
	break;	
	}
}
esqueci de falar, eu uso o switch pra fazer os estados.

Responder

Quem está online

Usuários navegando neste fórum: Google [Bot] e 8 visitantes