Últimos assuntos
» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

» Ajuda para mecanismo do jogo
por Willy Dom 16 Jul 2017, 15:54

Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220918 mensagens em 30411 assuntos

[Resolvido] Limite de tiros

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Resolvido] Limite de tiros

Mensagem por BioTrust 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
BioTrust

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

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://livrodojovemnerd.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Resolvido] Limite de tiros

Mensagem por donte 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
donte

Data de inscrição : 22/12/2009
Número de Mensagens : 1164
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário http://nintendocenterbr.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [Resolvido] Limite de tiros

Mensagem por Cainã 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
Cainã

Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: [Resolvido] Limite de tiros

Mensagem por BioTrust 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
BioTrust

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

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://livrodojovemnerd.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Resolvido] Limite de tiros

Mensagem por fonetico 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
fonetico

Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Resolvido] Limite de tiros

Mensagem por BioTrust 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
BioTrust

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

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário http://livrodojovemnerd.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Resolvido] Limite de tiros

Mensagem por Cainã em Dom 20 Jun 2010, 17:54


avatar
Cainã

Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://cai.na.tl/

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum