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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

IA = Como faço para quando o inimigo ver uma parede, e tiver espaço em cima, ele subir?

em Qua 18 Nov 2009, 23:16
Por exemplo, eu fiz um labirinto, e nele há o player e dois inimigos, mas agora, como eu faço para quando o inimigo encontrar uma parede ele ir ou para cima ou para baixo, dependendo se um desses lados tiver espaço. Eu sei que é um negócio de place_free, mas não sei usar esse negócio direito ainda.
Data de inscrição : 29/05/2009
Número de Mensagens : 351
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

Re: IA = Como faço para quando o inimigo ver uma parede, e tiver espaço em cima, ele subir?

em Qui 19 Nov 2009, 12:43
vixi cara isso nao tem nada a ver com place_free o certo éra usar A*(path find)
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1053
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

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

Re: IA = Como faço para quando o inimigo ver uma parede, e tiver espaço em cima, ele subir?

em Qui 19 Nov 2009, 14:31
Corrigindo o nosso colega Dungeon, isso tem haver com place_free sim, tem que checar se tem um espaço livre para direita ou esquerda, se não tiver seguir para cima ou para baixo, e isso é bem simples, terá que checar se não há pixels nas posições X ou Y, como no exemplo:

Código:
if !place_free(x+15,y+0) then vspeed=-5

Coloque isso no evento Step num jogo com movimento simples de 8 direções, verá que caso não estiver livre nos próximos 15 pixels à direita, ele irá se mover para cima, tente, se não der certo vejo qual foi o erro, lembre-se que o outro objeto tem que ser sólido.

Valeu! o/
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 1 Insignia 3x 0
Reputação : 52

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: IA = Como faço para quando o inimigo ver uma parede, e tiver espaço em cima, ele subir?

em Qui 19 Nov 2009, 15:41
Como o pessoal já descreveu acima, dá pra fazer dos 2 jeitos, ou vc usa um A* ou você desenvolve seu próprio algoritmo usando o place_free() ou place_empty().
Se você quizer usar o A* o GM fornece algumas funções pra isso. A mais genérica seria essa:
mp_potential_step(x,y,stepsize,checkall)
Ou seja, você define onde a instancia deve ir e o tamho de cada passo em cada step (stepsize). Lembrando que você precisa do GM Pro (registrado) para usá-la.
flw!
Conteúdo patrocinado

Re: IA = Como faço para quando o inimigo ver uma parede, e tiver espaço em cima, ele subir?

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