GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[RESOLVI]Limite de tiros

3 participantes

Ir para baixo

[RESOLVI]Limite de tiros Empty [RESOLVI]Limite de tiros

Mensagem por Marlon_Locci Seg 30 Ago 2010, 15:02

Estou fazendo um jogo estilo "Battlecity" e não estou conseguindo colocar um limite de tiros...
Olhe so o que coloquei no meu player(O player 2)

CREATE:

Código:

global.tiros_2=2//Tiros que se tem no momento

STEP
Código:

//Criar tiro se apertar spaço mais cima
if keyboard_check_pressed(vk_space)
and
keyboard_check_pressed(vk_up)
instance_create(player_2.x,player_2.y,obj_tiro_cim_2)
if instance_create(player_2.x,player_2.y,obj_tiro_cim_2)
global.tiros_2 -=1

//Criar tiro se apertar spaço mais esquerdo
if keyboard_check_pressed(vk_space)
and
keyboard_check_pressed(vk_left)
instance_create(player_2.x,player_2.y,obj_tiro_esq_2)
instance_create(player_2.x,player_2.y,obj_tiro_esq_2)
global.tiros_2 -=1

//Criar tiro se apertar spaço mais direito
if keyboard_check_pressed(vk_space)
and
keyboard_check_pressed(vk_right)
instance_create(player_2.x,player_2.y,obj_tiro_dir_2)
if instance_create(player_2.x,player_2.y,obj_tiro_dir_2)
global.tiros_2 -=1

//Criar tiro se apertar spaço mas baixo
if keyboard_check_pressed(vk_space)
and
keyboard_check_pressed(vk_down)
instance_create(player_2.x,player_2.y,obj_tiro_baix_2)
instance_create(player_2.x,player_2.y,obj_tiro_baix_2)
global.tiros_2 -=1

//Desativar objetos(tiro)quando não houver mais tiros
if global.tiros_2 =0 instance_deactivate_all(obj_tiro_dir_2)
if global.tiros_2 =0 instance_deactivate_all(obj_tiro_cim_2)
if global.tiros_2 =0 instance_deactivate_all(obj_tiro_baix_2)
if global.tiros_2 =0 instance_deactivate_all(obj_tiro_esq_2)

Quando eu coloco isto o player_2 n chega nem a atirar no inicio.
O globa.tiros_2 é por que é o player 2 ok!?
Marlon_Locci
Marlon_Locci

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 7
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por fonetico Seg 30 Ago 2010, 15:07

Acredito que o problema está em:

keyboard_check_pressed...

Como você sabe, esse código só é executado no momento que batemos na tecla e não mas. Por ser um período curto, é extremamente difícil apertamos as duas teclas exatamente na hora. Tente mudar esse código por outro, ou, para não ficar criando balas infinitivamente, usar algo parecido com:

if keyboard_check(vk_space) and keyboard_check_pressed(vk_down)
{
//seu codigo
}


Com esse código, somente enquanto estivermos pressionando espaço, e apertamos alguma tecla, ele irá atirá, e não só no momento que pressionarmos as teclas.


Última edição por souzalucasjose em Seg 30 Ago 2010, 15:08, editado 1 vez(es)
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por †Ceifador Seg 30 Ago 2010, 15:08

Outro detalhe, se não checar o número de tiros restantes de que adianta decrescer a variável? Adicione outro if ex: if tiros > 0 { seucodigo; }
†Ceifador
†Ceifador

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 154
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por Marlon_Locci Seg 30 Ago 2010, 15:10

souzalucasjose escreveu:Acredito que o problema está em:

keyboard_check_pressed...

Como você sabe, esse código só é executado no momento que batemos na tecla e não mas. Por ser um período curto, é extremamente difícil apertamos as duas teclas exatamente na hora. Tente mudar esse código por outro, ou, para não ficar criando balas infinitivamente, usar algo parecido com:

if keyboard_check(vk_space) and keyboard_check_pressed(vk_down)
{
//seu codigo
}


Com esse código, somente enquanto estivermos pressionando espaço, e apertamos alguma tecla, ele irá atirá, e não só no momento que pressionarmos as teclas.

Souza... Eu tentei fazer o que vc pediu mas mesmo assim não deu.
Marlon_Locci
Marlon_Locci

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 7
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por fonetico Seg 30 Ago 2010, 15:15

Marlon_Locci escreveu:
souzalucasjose escreveu:Acredito que o problema está em:

keyboard_check_pressed...

Como você sabe, esse código só é executado no momento que batemos na tecla e não mas. Por ser um período curto, é extremamente difícil apertamos as duas teclas exatamente na hora. Tente mudar esse código por outro, ou, para não ficar criando balas infinitivamente, usar algo parecido com:

if keyboard_check(vk_space) and keyboard_check_pressed(vk_down)
{
//seu codigo
}


Com esse código, somente enquanto estivermos pressionando espaço, e apertamos alguma tecla, ele irá atirá, e não só no momento que pressionarmos as teclas.

Souza... Eu tentei fazer o que vc pediu mas mesmo assim não deu.

Não? oO Por acaso você colocou algum código de colisão do player com a bala que a faça se destruir?
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por Marlon_Locci Seg 30 Ago 2010, 15:27

fonetico escreveu:
Marlon_Locci escreveu:
souzalucasjose escreveu:Acredito que o problema está em:

keyboard_check_pressed...

Como você sabe, esse código só é executado no momento que batemos na tecla e não mas. Por ser um período curto, é extremamente difícil apertamos as duas teclas exatamente na hora. Tente mudar esse código por outro, ou, para não ficar criando balas infinitivamente, usar algo parecido com:

if keyboard_check(vk_space) and keyboard_check_pressed(vk_down)
{
//seu codigo
}


Com esse código, somente enquanto estivermos pressionando espaço, e apertamos alguma tecla, ele irá atirá, e não só no momento que pressionarmos as teclas.

Souza... Eu tentei fazer o que vc pediu mas mesmo assim não deu.

Não? oO Por acaso você colocou algum código de colisão do player com a bala que a faça se destruir?

Não por exemplo:
Eu fiz 8 balas sendo 4 para o player 1 e as outras para o player 2
entao eu botei que quando a bala do player 1 colidir com o player 2 ele se destrua entendeu?
Ou seja as balas n estao sendo destruidas pelo proprio proprio player
Marlon_Locci
Marlon_Locci

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 7
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por Marlon_Locci Seg 30 Ago 2010, 15:50

Desculpe o post-duplo mais agora eu estou com outro problema olhe so o codigo no momento:

STEP:

Código:


if global.tiros_2 <=0 instance_deactivate_object(obj_tiro_dir_2)
if global.tiros_2 <=0 instance_deactivate_object(obj_tiro_cim_2)
if global.tiros_2 <=0 instance_deactivate_object(obj_tiro_baix_2)
if global.tiros_2 <=0 instance_deactivate_object(obj_tiro_esq_2)

if global.tiros_2 =0 instance_deactivate_object(obj_tiro_dir_2)
if global.tiros_2 =0 instance_deactivate_object(obj_tiro_cim_2)
if global.tiros_2 =0 instance_deactivate_object(obj_tiro_baix_2)
if global.tiros_2 =0 instance_deactivate_object(obj_tiro_esq_2)

if global.tiros_2>=0
if keyboard_check(vk_space)
and
keyboard_check(vk_up)
instance_create(player_2.x,player_2.y,obj_tiro_cim_2*1)

//Criar tiro se apertar spaço mais esquerdo
if keyboard_check(vk_space)
and
keyboard_check(vk_left)
instance_create(player_2.x,player_2.y,obj_tiro_esq_2*1)

//Criar tiro se apertar spaço mais direito
if keyboard_check(vk_space)
and
keyboard_check(vk_right)
instance_create(player_2.x,player_2.y,obj_tiro_dir_2*1)

//Criar tiro se apertar spaço mas baixo
if keyboard_check(vk_space)
and
keyboard_check(vk_down)
instance_create(player_2.x,player_2.y,obj_tiro_baix_2*1)

if global.tiros_2 >=0 instance_activate_object(obj_tiro_dir_2)
if global.tiros_2 >=0 instance_activate_object(obj_tiro_cim_2)
if global.tiros_2 >=0 instance_activate_object(obj_tiro_baix_2)
if global.tiros_2 >=0 instance_activate_object(obj_tiro_esq_2)

Agora quando o tiro é ativado ele não vai para lugar nenhum ele fica parado junto com o player 2

Alguem tem alguma forma de como o tiro se mover dpos dele ser ativado?
Rolling Eyes
Marlon_Locci
Marlon_Locci

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 7
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por †Ceifador Seg 30 Ago 2010, 15:54

Defina um movimento para ele, pode ser motion_set, ou variação de x no step, enfim, programe o movimento do contrário não sairá do lugar mesmo.
†Ceifador
†Ceifador

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 154
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por Marlon_Locci Seg 30 Ago 2010, 16:07

†Ceifador escreveu:Defina um movimento para ele, pode ser motion_set, ou variação de x no step, enfim, programe o movimento do contrário não sairá do lugar mesmo.

Eu já havia configurado para as balas andarem para o lado certo,agora eu configurei para se mover quando for ativada,so que agora tambem esta sendo deletada quase que na hora que é criada,será que alguem n tem um code para deixar com um max de tiros n?Ou um script???

>>EDITE<<
Consegui resolver o problema,muito obrigado a todos que me aconselharam o que eu devia fazer.
RESOLVIDO
XD
Marlon_Locci
Marlon_Locci

Data de inscrição : 28/08/2010
Reputação : 0
Número de Mensagens : 7
Prêmios : [RESOLVI]Limite de tiros Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

[RESOLVI]Limite de tiros Empty Re: [RESOLVI]Limite de tiros

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos