[Resolvido]Tower defense O_O

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

Tower defense O_O

Mensagem por Game decoder em Ter 29 Mar 2011, 14:36

Estou fazendo um jogo de defender a torre, ja esta tudo quase pronto, só que tem um pequeno problema: eu coloquei pra que quando a bala se distanciasse do canhão o suficiente ela se destruisse, mas ele só aplica essa propriedade ao primeiro canhão que eu coloquei.

Se quiserem eu fassa um pequeno video demonstrando isso eu faço, mas se entenderam a questão respontam logo.

bye flw.

Game decoder

Número de Mensagens : 103
Idade : 18
Data de inscrição : 13/12/2010
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Math Maker em Ter 29 Mar 2011, 16:32

por Game decoder
mas se entenderam a questão respontam logo.
Paciência é uma virtude que deveria cultivar...

Em todo caso, para medir se a bola se distanciou o bastante, use a variável x e/ou y. Junto a expressão > ou => ("maior" e "maior ou igual" respectivamente), tudo numa condicional. Um motivo que pode estar ocasionando o erro é o uso dos script em um único canhão (cada obj um canhão, acredito que utilize um para cada, possui coordenadas x e y diferentes), sendo que cada bala tem que se basear no canhão que a disparou. Entendeu? Não vou dar tudo "mastigadinho", raciocine um pouco, se não conseguir mesmo assim é só postar.

Math Maker

Número de Mensagens : 107
Idade : 21
Data de inscrição : 26/02/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Willy em Ter 29 Mar 2011, 16:51

Como o Math Maker falou, ele só esta checando um unico canhão.
A maneira correta de fazer isso é criar uma varival para saber de qual canhão a bala foi criada.
Para isso, onde tem o "instance_create(x,y,obj_bala)", coloque uma variavel antes do código (nao é necessario ser criado no create).
Ficaria assim:
Código:
bala_criada=instance_create(x,y,obj_bala)
Logo abaixo, você indica quem é o "pai" da bala, ou seja, que canhão a criou.
Código:
bala_criada.pai=id
"id" é a identidade do objeto, ou seja, um numero que se refere ao objeto. É como um RG da vida real.
Agora que sabemos quem é o criador, basta usar a variavel "pai" no objeto bala. No código que checa a distancia do obj_canhao, troque o obj_canhao.x por pai.x. O mesmo vale para o y.

A solução esta um pouco "mastigadinha", como o Math Maker falou acima, mas a diferença é que deixei bem explicado (eu acho). Duvidas, é so falar.

Espero ter ajudado.
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Game decoder em Ter 29 Mar 2011, 20:27

Obrigado Willy e Math Maker, dei umas alteradas no código do Willy e segui os coselhos do Math(posso te chamar assim?).

Aproveitando que o topico é meu, e o titulo do tópico, tenho uma outra duvida.
Olhem essas imagens:

Nesta bloqueia quando esta no caminho

Nesta continua bloqueando quando está fora do caminho.

Obs.:Ele o objeto que eu movo(o que fica vermelho quando entra no caminho amarelo) segue o mause em grid.

x=(floor(mouse_x/32)*32)
y=(floor(mouse_y/32)*32)

Game decoder

Número de Mensagens : 103
Idade : 18
Data de inscrição : 13/12/2010
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Willy em Ter 29 Mar 2011, 22:59

O Willy gosta de ajudar! Cool
Não entendi muito bem essa sua segunda pergunta... Mas acredito que você quer que o jogador acompanhe o mouse, mas que nao o siga se estiver fora do espaço amarelo...
Para isso, o espaço verde deve ser um obj_bloco.
Ai, no step do bloco que segue o mouse, deixe assim:
Código:
if instance_position(mouse_x, mouse_y, obj_bloco) == noone{
x=(floor(mouse_x/32)*32)
y=(floor(mouse_y/32)*32)
}
Esse código vai checar se não existe o obj_bloco na posição mouse_x, mouse_y, então, executar o seu código.

Espero ter ajudado.
blz


Última edição por Willy em Ter 29 Mar 2011, 23:00, editado 1 vez(es) (Razão : O objeto nao preciza ser solido.)

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Game decoder em Qua 30 Mar 2011, 14:04

Não é isso, eu quero que ele não cronstua o canhão no amarelo, que fique proibido, só que isso eu ja fiz, eu quero saber o que eu faço para que quando ele fique fora do amarelo ele pare de bloquear.

Bye flw.

Game decoder

Número de Mensagens : 103
Idade : 18
Data de inscrição : 13/12/2010
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Math Maker em Qua 30 Mar 2011, 16:07

Game decoder pode me chamar de Math sem problemas.

A questão é, sua pergunta está muito confusa, seu uso de pronomes é muito confuso, organize melhor sua dúvida e estarei analisando.

Math Maker

Número de Mensagens : 107
Idade : 21
Data de inscrição : 26/02/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Game decoder em Qua 30 Mar 2011, 16:20

Okay, vou detalhar tudo.
Nos jogos de defender a torre, os canhões não podem ser construidos no caminho em que o inimigo passa.
Eu criei o obj_canhao1_mov e o obj_canhao1(onde ele é fixo).No obj_canhao1_mov eu coloquei o codigo para checar se ele está ou não está no caminho, quando ele entra no caminho do inimigo ele bloqueia a construção, só que, quando eu retiro ele do caminho, ele ainda continua bloqueando a contrução do canhão.
Bye flw.

Game decoder

Número de Mensagens : 103
Idade : 18
Data de inscrição : 13/12/2010
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Willy em Qua 30 Mar 2011, 16:23

Não sei se o caminho é um objeto, então é so adptar com o código que você usou para bloquear a contrução:
Código:
if place_meeting(x,y,obj_caminho){
bloqueia=true
}else{
bloqueia=false
}
Isso vai checar se o obj esta no "caminho", se estiver, a variavel bloqueia se torna true, e se nao estiver no caminho, a variavel bloqueia é false.

Espero ter ajudado!
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Game decoder em Qua 30 Mar 2011, 16:30

Obrigado Willy, por isso eu sou seu fã Very Happy.
Math maker, obrigado pelo conselho, eu nem imaginei que estava tão dificil entender minha duvida, obrigado.
Obs.:Willy, eu uso um objeto para determinar o caminho, mas eu uso um patch para o inimigo andar ;).

Game decoder

Número de Mensagens : 103
Idade : 18
Data de inscrição : 13/12/2010
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por PedroX em Qua 30 Mar 2011, 17:31

Se o autor quiser que o topico seja aberto novamente por algum motivo valido, mande uma MP para algum moderador ou administrador.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Resolvido]Tower defense O_O

Mensagem por Conteúdo patrocinado Hoje à(s) 16:20


Conteúdo patrocinado


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