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
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Qui 18 Abr 2024, 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39


[Resolvido]Ajuda com tower defense

3 participantes

Ir para baixo

[Resolvido]Ajuda com tower defense Empty [Resolvido]Ajuda com tower defense

Mensagem por Mentos e Coca-cola Ter 09 Ago 2011, 09:28

Bom pessoal(¬¬), eu e meu amg estamos no começo de um jogo de Defender A Base, mais eu tow querendo saber como eu faria p que:
se o obj_inimigo estiver 200 pixels ou menos, perto do obj_gun, que o obj_gun atire o obj_tiro, mais que saia só daquele obj_gun que o obj_inimigo está perto, porque tem mais obj_gun na room, alguem entendeu alguma coisa Razz ?

PS: o jogo é TOP-DOWN(acho eu)Razz

Razz:P



Última edição por Mentos e Coca-cola em Ter 09 Ago 2011, 16:04, editado 1 vez(es)
Mentos e Coca-cola
Mentos e Coca-cola

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 30/06/2010
Reputação : 21
Número de Mensagens : 642
Prêmios : [Resolvido]Ajuda com tower defense 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

[Resolvido]Ajuda com tower defense Empty Re: [Resolvido]Ajuda com tower defense

Mensagem por Markituh Ter 09 Ago 2011, 10:22

Há uma função que checa a distância (em pixels) entre dois objetos. Ela é distance_to_object e seu único argumento é o objeto para checar a distância. Então, no Step objeto que atira (obj_gun):
Código:
if pode_atirar and distance_to_object(obj_inimigo) <= 200
/* Se pode atirar for igual a true(a comparação é implícita, mas há) e a distância entre mim e o objeto inimigo for menor ou igual a 200 */
{
instance_create(x,y,obj_tiro) // Cria o tiro
pode_atirar = false
alarm[0] = 30  // Recarrega o tiro
}
A variável "pode_atirar" é básica, caso contrário seriam criados um monte de obj_tiro. O alarm[0] é básico também, segue a mesma linhagem da variável. Sobre haver vários objetos:
GM Help escreveu:distance_to_object(obj) Returns the distance of the instance to the nearest instance of object obj. (If the instance or object does not have a sprite or mask, the result of the function is undefined.)
A função retorna a distância da instância em que o código está para a instância mais próxima, ou seja, a que estiver na frente, do objeto "obj". O tio Mark pensou nisso também tongue

Nota: Há um trecho que diz: "If the distance or object..." - esse trecho quer dizer que se a instância não tem uma sprite ou mask, o resultado que a função vai retornar é indefinido.


Última edição por Markituh em Ter 09 Ago 2011, 10:24, editado 2 vez(es) (Motivo da edição : Nota)
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : [Resolvido]Ajuda com tower defense 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

[Resolvido]Ajuda com tower defense Empty Re: [Resolvido]Ajuda com tower defense

Mensagem por Mentos e Coca-cola Ter 09 Ago 2011, 10:30

foi mal mais não funcionou, será que alguem topa consertar a engine ?
Mentos e Coca-cola
Mentos e Coca-cola

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 30/06/2010
Reputação : 21
Número de Mensagens : 642
Prêmios : [Resolvido]Ajuda com tower defense 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

[Resolvido]Ajuda com tower defense Empty Re: [Resolvido]Ajuda com tower defense

Mensagem por saim Ter 09 Ago 2011, 11:25

Deveria funcionar. O que deu errado?
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]Ajuda com tower defense Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]Ajuda com tower defense Empty Re: [Resolvido]Ajuda com tower defense

Mensagem por Mentos e Coca-cola Ter 09 Ago 2011, 11:28

os inimigos chegam perto mais nada acontece, eu tembém achei estranho
Mentos e Coca-cola
Mentos e Coca-cola

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 30/06/2010
Reputação : 21
Número de Mensagens : 642
Prêmios : [Resolvido]Ajuda com tower defense 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

[Resolvido]Ajuda com tower defense Empty Re: [Resolvido]Ajuda com tower defense

Mensagem por saim Ter 09 Ago 2011, 11:57

Algumas sugestões do que pode estar errado:
- pode_atirar pode estar com o valor “false” (o Markituh não pôs no texto, mas você deve usar o alarm pra resetar a variável pra “true”)
- a distância pode estar pequena (embora eu ache que 200 sejam suficientes). Tente aumentar pra 5000, só pra testar.
- o inimigo pode não ser chamado de obj_inimigo. Se houver diferença nos nomes, corrija.
- o tiro está sendo criado sem velocidade nenhum, dando a impressão que ele não está lá. Mostre, em algum debug, o valor de "instance_number(obj_tiro)".
Se não for nenhuma dessas possibilidades, volte que pensaremos em algo novo. Se alguma se confirmar, a correção é simples.

Edit:
de fato, não está funcionando quando eu ponho objetos sem sprites - tanto a torre quanto o inimigo. Porém, ao definir uma sprite e uma mask pra esses objetos, ele passa a criar os tiros.
O código que estou usando é:
Código:
if (podeAtirar==true && distance_to_object(obj_inimigo)<=distMin){//point_distance(x, y, obj_inimigo.x, obj_inimigo.y)<=distMin){//
   var vitima;
   vitima=collision_circle(x, y, distMin, obj_inimigo, 1, 1);
   with (instance_create(x, y, obj_bala)){
      dir=point_direction(other.x, other.y, obj_inimigo.x, obj_inimigo.y);//vitima.x, vitima.y);
      }
   alarm[0]=cadencia;
   podeAtirar=false;
   }
os códigos em comentário são testes que eu usei até fazer funcionar. Eles também funcionam, em muitos casos, mas podem gerar alguns bugs, principalmente o "vitima.x, vitima.y);". Parece que a distância entre os objetos pode ser menor que distMin sem que a collision_circle retorne "true".
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : [Resolvido]Ajuda com tower defense Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

[Resolvido]Ajuda com tower defense Empty Re: [Resolvido]Ajuda com tower defense

Mensagem por Mentos e Coca-cola Ter 09 Ago 2011, 16:03

resolvido, muito obrigado ae, pode trancar o tópico
Mentos e Coca-cola
Mentos e Coca-cola

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 30/06/2010
Reputação : 21
Número de Mensagens : 642
Prêmios : [Resolvido]Ajuda com tower defense 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

[Resolvido]Ajuda com tower defense Empty Re: [Resolvido]Ajuda com tower defense

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