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.

Repetindo o efeito sonoro ao clicar na letra

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Klinton Rodrigues
Novato
Novato
Reações: 1
Mensagens: 10

Repetindo o efeito sonoro ao clicar na letra

Mensagem por Klinton Rodrigues » Qui Mai 11, 2023 4:02 am

Oi gente, surgiu uma duvida aqui, talvez meio boba kkkk.
Eu criei um sistema de load para munições.
Ou seja, sempre que a munição chegar a zero, o player terá de apertar a letra (E) para recarregar sua arma, e assim poder utilizar de novo! quando a letra (E) é apertada a arma recarrega e durante o tempo de recarga tem um efeito sonoro, porém a grande questão é:
O player só vai ouvir o som da recarga quando: Ele apertar a letra (E) e se a sua munição for menor que 0
mas quando ele aperta a letra (E) mais de uma vez o som se torna repetitivo, ou seja.
eu gostaria de fazer com que ele só consiga apertar uma vez e que o som de carregar a arma não se repetisse durante o load!

CÓDIGO LOGO ABAIXO:


misseis_jato = function(){
var atirador, recarga, cores;
cores = choose(c_gray,c_grey,c_dkgray,c_dkgrey)
atirador = mouse_check_button(mb_left)
recarga = keyboard_check_pressed(ord("E"))
if misseis_do_jato >= 0{
if atirador && alarm[3] == -1{
misseis_do_jato --
instance_create_layer(x - sprite_width / 3.9,y, "tiros_jato", obj_missil_jato)
instance_create_layer(x + sprite_width / 3.9,y, "tiros_jato", obj_missil_jato)
effect_create_below(ef_explosion,x + sprite_width / 3.9,y - sprite_height / 9,.5,cores)
effect_create_below(ef_explosion,x - sprite_width / 3.9,y - sprite_height / 9,.5,cores)
sprite_index = spr_jatoplayer_semMissel
alarm[3] = room_speed;
}else{
sprite_index = spr_jatoplayer
}
}else if misseis_do_jato < 0{
if recarga{
audio_play_sound(carregando_jato,1,0)
sprite_index = spr_jatoplayer_semMissel
alarm[0] = room_speed * 4
}
}
}

Avatar do usuário
KanekiZLF
Membro
Membro
Reações: 4
Mensagens: 33
Localização: Para

Re: Repetindo o efeito sonoro ao clicar na letra

Mensagem por KanekiZLF » Qui Mai 11, 2023 12:14 pm

Opa, tudo bem? Bom dia. Primeiramente vamos criar uma variavel para ativar e desativar o som, depois vamos verificar qual a duração do som e quando ele for ativado, a gente desativa a variavel e vamos reativa-la novamente quando o audio terminar, beleza ? Vamos la

Evento Criar (Event Creat):

Código: Selecionar todos

playSound = true;


Crie um alarme, ele será o responsável por reativar o som após o som termina de tocar, dentro do seu alarm coloque assim:

Código: Selecionar todos

playSound = true; //<-- Define se o som pode ser tocado novamente
Evento Etapa (Event Step), altere seu else if e deixe-o assim:

Código: Selecionar todos

else if recarga && misseis_do_jato < 0 {
{
	if playSound {
		audio_play_sound(carregando_jato,1,0); //<-- Toca o som de recarga
		var _sound = audio_sound_length(carregando_jato); //<--- Verifica a duração do som
		alarm[NUM] = _sound * room_speed; //<-- Define o tempo do alarm sendo a duração do som
		playSound = false;
	}
	sprite_index = spr_jatoplayer_semMissel
	alarm[0] = room_speed * 4
}
Testa ai e veja se ficou como queria, não se esqueça de colocar o numero do alarm, abraço !
Ninguém vai bater tão forte como a vida, mas a questão não é o quão forte você consegue bater. É o quão forte você consegue apanhar e continuar seguindo em frente.

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante