IA top_down.

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

IA top_down.

Mensagem por Kiko em Dom 23 Jan 2011, 15:09

Alguem sabe como fazer o inimigo olhar para o carinhar e seguir ele ? eu fiz uns desenhos pra monstrar melhor
http://img806.imageshack.us/img806/5605/zombiea.png
Sacaram tipo os zumbi fica olhando pro carinha e eu quero que sigam ele.
E aproveitando alguem tem uma lib de IAs ?


Última edição por Kiko em Dom 23 Jan 2011, 20:56, editado 2 vez(es)

Kiko

Número de Mensagens : 188
Idade : 18
Data de inscrição : 16/01/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: IA top_down.

Mensagem por Godsil4 em Dom 23 Jan 2011, 15:23

se bota no step
do zumbi:
if distance_to_object(player){
if collision_line(x,y,player.x,player.y,parede,1,0){
move_towards_point(player.x,player.y,12)}}

Godsil4

Ranking : Nota B
Número de Mensagens : 474
Data de inscrição : 26/11/2010
Notas recebidas : B+A
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

http://www.google.com.br

Voltar ao Topo Ir em baixo

Re: IA top_down.

Mensagem por Kiko em Dom 23 Jan 2011, 15:29

Ele nun fez nd

Kiko

Número de Mensagens : 188
Idade : 18
Data de inscrição : 16/01/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: IA top_down.

Mensagem por Godsil4 em Dom 23 Jan 2011, 15:31

ve se seu objeto
se chama player
e se sua parede
se chama parede
---edit---
ah desculpa o
codigo ta errado
vo ajusta pera ai

----edit 2----

if distance_to_object(player) < 200{
if collision_line(x,y,player.x,player.y,parede,1,0){
move_towards_point(player.x,player.y,12)}}

falto o < paoskaposk
so mto burro

e se n tive dado tenta
assim tbm:


if distance_to_object(player) < 200{
if not collision_line(x,y,player.x,player.y,parede,1,0){
move_towards_point(player.x,player.y,12)}}


Godsil4

Ranking : Nota B
Número de Mensagens : 474
Data de inscrição : 26/11/2010
Notas recebidas : B+A
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

http://www.google.com.br

Voltar ao Topo Ir em baixo

Re: IA top_down.

Mensagem por Kiko em Dom 23 Jan 2011, 16:12

Ele buga e fica se esfregando no player

Kiko

Número de Mensagens : 188
Idade : 18
Data de inscrição : 16/01/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: IA top_down.

Mensagem por PedroX em Dom 23 Jan 2011, 16:17

Objeto: Inimigo
Evento: Step

dist = distance_to_object(obj_player);//troque o nome: obj_player
if dist < 200 && dist > 8
{
direction = point_direction(x,y,obj_player.x,obj_player.y)
image_angle=direction;
speed=5;
}

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: IA top_down.

Mensagem por Godsil4 em Dom 23 Jan 2011, 16:17

normal Happy
soh pensa um poco:
como a velocidade eh 12
no momento q faltava
4 pixels pra chega ao
player ele ando 12
e entaum passo 8
dai o q ele faz?
volta dose e fica num
vise-versa,

pra resolve vc pode faze o seguinte:

if distance_to_object(player) > 0 {o resto do codigo}
ou seja se a distancia do player
for maior q 0 ele corre atras do palyer.
dai fica:

if distance_to_object(player) < 200{
if collision_line(x,y,player.x,player.y,parede,1,0){
move_towards_point(player.x,player.y,12)}}
---edit---
alguns segundos atras e seria o primero nervoso

Godsil4

Ranking : Nota B
Número de Mensagens : 474
Data de inscrição : 26/11/2010
Notas recebidas : B+A
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 1

http://www.google.com.br

Voltar ao Topo Ir em baixo

Re: IA top_down.

Mensagem por Kiko em Dom 23 Jan 2011, 20:58

Estou usando esse mas alguem sabe como aumentar a linha de vista dele tipo ele só segue o player se o player chegar perto onde aumento isso ?

dist = distance_to_object(obj_player);//troque o nome: obj_player
if dist < 200 && dist > 8
{
direction = point_direction(x,y,obj_player.x,obj_player.y)
image_angle=direction;
speed=4;
}
if vidazombi<=0
{
instance_destroy()
}
EDIT-
Já descobri
podem trancar de uma vez isso

Kiko

Número de Mensagens : 188
Idade : 18
Data de inscrição : 16/01/2011
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: IA top_down.

Mensagem por PedroX em Dom 23 Jan 2011, 21:51

Aumente o 200. O 200 é o maximo, voce pode por qualquer valor maior para aumentar o campo de perseguicao.
OK?

FLW

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: IA top_down.

Mensagem por Conteúdo patrocinado Hoje à(s) 04:50


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum