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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 06/03/2012
Número de Mensagens : 10
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

Intervalo de tempo entre tiros

em Sab 10 Mar 2012, 01:11
Apesar de eu não postar, sempre frequentei o fórum.
Gostaria que me tirassem uma duvida, estou fazendo um danmaku/shoot em'up, e no "Step>code" do boss que criei tem o seguindo script:

if timer mod firedelay00 == 0 && y>0 && x>0 && y{
for(i=-1;i<=1;i+=1)
{
a=instance_create(x+i*10,y,obj_bullet00); //Criar tiros
a.speed=firespeed; //dar velocidade 4 ao tiro
a.direction=270+i*15; //Direção: 270+ (-15, 0 e +15)
a.sprite_index=spr_bullet01;
a.image_angle=a.direction;
a.image_xscale=.66;
a.image_yscale=.66;
}
}


if timer mod firedelay == 0 && y>0 && x>0 && y {
for(i=-10;i<=10;i+=1)
{
a=instance_create(x,y,obj_bullet00); //Criar tiro com x,y iguais aos meus
a.speed=firespeed; //dar velocidade 4 ao tiro
a.direction=270+i*7;
}

}


O vermelho é um tipo de tiro que o boss fara, e o azul é outro, eu gostaria de separar eles em intervalo, por exemplo:
Tiro vermelho: Acontece durante 10 segundos, depois para e inicia o tiro azul.
Tiro azul: Acontece durante 20 segundos, depois para e retorna para o vermelho.
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Intervalo de tempo entre tiros

em Sab 10 Mar 2012, 11:12
Use alarms ou timelines.
Nos alarms você defini em tempo, quando esse tempo chega a 0 ele ativa.
Para tiros eu costumo apenas definir um e colocar um script vazio (com um comentário para ele poder ativar) e no Step o código:
Código:
-- Event Alarm 0 --
// alarm, você tem que escrever algo se não ele não ativa

Event Step
if alarm[0] <= 0 {
    // atirar
    alarm[0] = 10*room_speed; // redefinir alarm[0]
}

Lembrando que um 1 segundo é igual a room_speed, então 10 segundos é igual a 10*room_speed.
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