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

Nenhum

Ver toda a lista


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

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

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

Tower defense O_O

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.
avatar
Data de inscrição : 26/02/2011
Número de Mensagens : 107
Insígnias de JAM :

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

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

Re: [Resolvido]Tower defense O_O

em Ter 29 Mar 2011, 16:32
Reputação da mensagem: 100% (1 votos)
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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1834
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Resolvido]Tower defense O_O

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
avatar
Data de inscrição : 13/12/2010
Número de Mensagens : 103
Insígnias de JAM :

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

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

Re: [Resolvido]Tower defense O_O

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)
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1834
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Resolvido]Tower defense O_O

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.)
avatar
Data de inscrição : 13/12/2010
Número de Mensagens : 103
Insígnias de JAM :

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

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

Re: [Resolvido]Tower defense O_O

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.
avatar
Data de inscrição : 26/02/2011
Número de Mensagens : 107
Insígnias de JAM :

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

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

Re: [Resolvido]Tower defense O_O

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.
avatar
Data de inscrição : 13/12/2010
Número de Mensagens : 103
Insígnias de JAM :

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

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

Re: [Resolvido]Tower defense O_O

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.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1834
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Resolvido]Tower defense O_O

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
avatar
Data de inscrição : 13/12/2010
Número de Mensagens : 103
Insígnias de JAM :

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

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

Re: [Resolvido]Tower defense O_O

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 ;).
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

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

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

Re: [Resolvido]Tower defense O_O

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.
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