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

Nenhum

Ver toda a lista


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

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

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

[Resolvido] Limite de tiros

em Dom 20 Jun 2010, 16:12
Boa noite galera,
eu estou fazendo um jogo de tiro - sim, é pro concurso Happy - e queria saber o seguinte:
- como fazer um limite de tiros?

Tipo, eu ja fiz assim:

Criei um score, que seria os tiros, e na room coloquei que comecaria score = 100, ate ai tudo bem. Eu queria saber o seguinte:
Quando esse score chegar a 0, ele nao atirar mais. alguem ajuda?

Obj tiro esq:
Create -
Código:

score = 100;
lado = 0;

Step -
Código:
if (keyboard_check_pressed(vk_control)) && (lado == 0)
{instance_create(obj_para_dir.x,obj_para_dir.y,obj_tiro_esq)
score -= 1
}

if (score == 0)
{
instance_destroy()
}

Obj player:
Step -
Código:
if (andando == false) && (parado == true) && (lado == 1) && (score == 100) && (keyboard_check(vk_control))
{
instance_create(obj_para_dir.x,obj_para_dir.y, obj_tiro_dir)
sprite_index = spr_ata_dir
}
if (andando == false) && (parado == true) && (score == 100) && (lado == 0) && (keyboard_check(vk_control))
{
instance_create(obj_para_dir.x,obj_para_dir.y, obj_tiro_esq)
score -= 1
sprite_index = spr_ata_esq
}

Bom, alguem ajuda?

Abraçs


Última edição por BioTrust em Dom 20 Jun 2010, 17:16, editado 1 vez(es)
avatar
Data de inscrição : 22/12/2009
Número de Mensagens : 1164
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://nintendocenterbr.forumeiros.com

Re: [Resolvido] Limite de tiros

em Dom 20 Jun 2010, 16:22
no create:
Código:

Tiros = 100;
lado = 0;
no step:
Código:
if (keyboard_check_pressed(vk_control)) and tiro then && (lado == 0)
{instance_create(obj_para_dir.x,obj_para_dir.y,obj_tiro_esq)
tiro -= 1
}
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://cai.na.tl/

Re: [Resolvido] Limite de tiros

em Dom 20 Jun 2010, 16:22
Ao invés de utilizar a variável score é melhor utilizar outra. Faça assim:

CREATE:

Código:
{

Tiros := 100 ;  //Número de tiros.

}

STEP:

Código:
{

if keyboard_check_released(vk_control) && Tiros > 0 {

instance_create(x, y, ObjTiro) ;

}

}
avatar
Data de inscrição : 04/06/2010
Número de Mensagens : 410
Insígnias de JAM :

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

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

Re: [Resolvido] Limite de tiros

em Dom 20 Jun 2010, 16:41
Vlw cainã Happy
Mas agora to com outro problema:
Meu personagem tem o codigo de quando apertar ctrl, ele muda pro pers atacando, mas tipo, quando eu aperto ctrl ele nao muda, so muda uma vez, dps nao muda mais.
Pode ajudar?
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

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

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

Re: [Resolvido] Limite de tiros

em Dom 20 Jun 2010, 16:42
Você por acaso criou o evento animation end e nele colocou para mostrar o sprite dele parado?
avatar
Data de inscrição : 04/06/2010
Número de Mensagens : 410
Insígnias de JAM :

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

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

Re: [Resolvido] Limite de tiros

em Dom 20 Jun 2010, 16:45
Ele ja tem, tenho o codigo pronto ja, aquele enorme.
Spoiler:

Código:

if (place_free(x,y+1)) //Checa se 1 pixel abaixo está vazio, ou seja, não tem chão.
{gravity=0.45; noar=true;
//Coloca valor na gravidade e define a variável noar para true, ou seja, o personagem não está no chão.
} else
 //Se a expressão place_free for falsa, ou seja, tenha chão embaixo:
 {gravity=0; noar=false; //Gravidade se torna zero e a variável noar se torna false, ou seja, o personagem está no chão.
 }

//Definiões de pulo
if (keyboard_check_pressed(vk_space)) && ! (place_free(x,y+1)) //Checa se a tecla de direção cima foi pressionada e se NÃO tem um pixel livre abaixo.
{
vspeed=-9; noar=true;  //Se for verdade, velocidade vertical se torna 5 negativo e a variávell noar se torna true, ou seja, o personagem NÃO está no chão.
}

if (vspeed>12) //Checa se a velocidadevertical do personagem possui um valor maior que 12.
vspeed=12; //Se tiver, o valor se torna 12. Isso serve para que o personagem não ultrapasse grandes velocidades verticais, podendo causar bugs no jogo.

if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-3,y)) //Checa se a tecla de direção esquerda está sendo pressionada, se a tecla direita NÃO está sendo pressionada e se tem 3 pixels de espaço à esquerda.
{x-=5; lado=0; andando=true; parado=false; //Caso a expressão acima seja verdadeira, o personagem se move 3 pixels a esquerda, virá para a esquerda de acordo com a variável lado, a variável andando se torna true para indicar que o personagem está andando e a variável parado se torna false, ou seja, o personagem NÃO está parado.
}

if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+3,y)) //Mesmo de cima, só que dessa vez, checamos se a tecla de direção direita está sendo pressionada, se a tecla de direção esquerda NÃO está sendo pressionada e se tem 3 pixels à direita livre.
{x+=5; lado=1; andando=true; parado=false; //A mesma coisa do evento anterior. A única coisa que muda é que aqui o personagem se move 3 pixels a direita e a variável lado se torna 1, ou seja, ele vira pra direita.
}

if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) //Checa se a tecla direita e a tecla esquerda não estão sendo precionadas.
{andando=false; parado=true; //Caso seja verdade, a variável andando se torna false, ou seja, o personagem NÃO está andando. E a variável parado se torna true, ou seja, o personagem está parado.
}

//Sprites
if (noar==false) //Checa se o personagem está no ar.

{
if (andando=true) && (lado==1) //Checa se o personagem está andando e se ele está virado para a direita.
{
sprite_index=spr_corre_dir; //Se sim, a sprite dele se torna a sprite do personagem andando para a direita.
}
if (andando=true) && (lado==0) //Checa se o personagem está andando e se ele está virado para a esquerda.
{
sprite_index=spr_corre_esq; //Se sim, o sprite dele se torna a sprite do personagem andando para a esquerda.
}
if (andando==false) && (parado==true) && (lado==1) //Se o personagem não está andando, se o personagem está parado e está virado para a direita:
{
sprite_index=spr_para_dir; //Se sim, a sprite dele se torna a sprite do personagem parado para a direita.
}
if (andando==false) && (parado==true) && (lado==0) //Se o personagem não está andando, está parado e está virado para a esquerda:
{
sprite_index=spr_para_esq; //Se sim, a sprite dele se torna o sprite do personagem parado para a esquerda.
}
}
else //Caso o personagem NÃO esteja com os pés no chão:
{
if (vspeed>0) || (vspeed<0) && (lado==1) //Se ele está pulando ou caindo e está virado para a direita:
{
sprite_index=spr_pulo_dir; //O sprite do personagem se torna o sprite dele pulando para a direita.
}
if (vspeed>0) || (vspeed<0) && (lado==0) //Se o personagem está pulando ou caindo e está virado para a esquerda:
{
sprite_index=spr_pulo_esq; //O sprite do personagem se torna o sprite dele pulando para a esquerda.
}
}

if (andando == false) && (parado == true) && (lado == 1) && (keyboard_check(vk_down))

{
sprite_index = spr_aga_dir
}

if (andando == false) && (parado == true) && (lado == 0) && (keyboard_check(vk_down))

{
sprite_index = spr_aga_esq
}
Da uma olhada

Edit: Ja achei o erro, obrigado pela ajuda, dos dois Happy, abraços
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://cai.na.tl/

Re: [Resolvido] Limite de tiros

em Dom 20 Jun 2010, 17:54

Conteúdo patrocinado

Re: [Resolvido] Limite de tiros

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