Conectar-se
Quem está conectado
18 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 18 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 04/01/2014
Número de Mensagens : 81
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

[Resolvido] Como dar tempo para cada tiro.

em Qui 04 Set 2014, 18:21
estou com uma duvida em um projeto e gostaria de uma ajuda se possível.
no meu Obj_player criei um código para atirar assim:
Código:
if keyboard_check_pressed(ord("Z")) && global.balas>0
{
    if (lado=1) {
        //Gasta uma bala
        global.balas-=1
        
        //Com a bala criada
        with(instance_create(x+40,y+16,obj_bala))
        {
            //Move a bala na direção 0 (direita), na velocidade 20
            motion_set(0,20)
        }
    }
}

if keyboard_check_pressed(ord("Z")) && global.balas>0
{
    if (lado=0) {
        //Gasta uma bala
        global.balas-=1
        
        //Com a bala criada
        with(instance_create(x+20,y+16,obj_bala))
        {
            //Move a bala na direção 180 (esquerda), na velocidade 20
            motion_set(180,20)
        }
    }
}
if semBala=false && global.balas >= 0 && global.balas <20
{
alarm [0]=30
semBala=true
}
este código para meu projeto esta quase perfeito porem sai muito tiros de uma vez, não muito pois é um keyboard_check_pressed mas se o player apertar rápido ele solta vários tiros.
como faço para que ele solte o tiro por exemplo a cada 2 segundos?
e se eu quiser também que depois de 3 segundos que o tiro foi dado ele se destrua?
Agradeço desde já!


Última edição por Katerp em Qui 04 Set 2014, 20:53, editado 1 vez(es)
avatar
Data de inscrição : 10/08/2014
Número de Mensagens : 395
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 51

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://www.tutoriaisgamemaker.com.br

Re: [Resolvido] Como dar tempo para cada tiro.

em Qui 04 Set 2014, 18:32
É só criar uma variável que aumente junto com os steps, condicionar a opção de atirar a ela quando atingir um valor x e zerá-la toda vez que um tiro for dado. Também pode usar alarmes.

Fiz esse tutorial explicando como fazer. Tem exemplos também: http://www.tutoriaisgamemaker.com.br/2014/08/como-usar-alarmes.html
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: [Resolvido] Como dar tempo para cada tiro.

em Qui 04 Set 2014, 19:34
Bom, pelo jeito voce ja sabe iniciar uma variavel no create, entao crie uma variavel chamada time
Código:
time=0
e pra atirar:
Código:
if keyboard_check_pressed(ord("Z")) && global.balas>0 && time<=0
{time=10//TEMPO ENTRE UM TIRO E OUTRO
    if (lado=1) {
        //Gasta uma bala
        global.balas-=1
        
        //Com a bala criada
        with(instance_create(x+40,y+16,obj_bala))
        {
            //Move a bala na direção 0 (direita), na velocidade 20
            motion_set(0,20)
        }
    }else
   if (lado=0) {
        //Gasta uma bala
        global.balas-=1
        
        //Com a bala criada
        with(instance_create(x+20,y+16,obj_bala))
        {
            //Move a bala na direção 180 (esquerda), na velocidade 20
            motion_set(180,20)
        }
    }
}
if semBala=false && global.balas >= 0 && global.balas <20
{
alarm [0]=30
semBala=true
}
e no STEP EVENT:
Código:
if(time>0){time-=1}

Se tiver algum
Código:
<br>
no codigo, apague!
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 04/01/2014
Número de Mensagens : 81
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Como dar tempo para cada tiro.

em Qui 04 Set 2014, 20:52
Obrigado Isaque Onix, eu não estava entendendo muito bem o
até que acabei de ler a resposta inteira ;-;
esta funcionando perfeitamente do jeito que eu queria.
Tópico Resolvido.
avatar
Data de inscrição : 15/08/2010
Número de Mensagens : 1597
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 147

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://spyreserver.16mb.com

Re: [Resolvido] Como dar tempo para cada tiro.

em Qui 04 Set 2014, 20:59
por nada cara, clique em ao lado da minha foto, Ja que te ajudei... flws
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum