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
- Klinton Rodrigues
- Novato
- Reações: 1
- Mensagens: 11
Repetindo o efeito sonoro ao clicar na letra
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
}
}
}
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
}
}
}
Re: Repetindo o efeito sonoro ao clicar na letra
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):
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:
Evento Etapa (Event Step), altere seu else if e deixe-o assim:
Testa ai e veja se ficou como queria, não se esqueça de colocar o numero do alarm, abraço !
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
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
}
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.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante