IA de inimigo 32X32

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

IA de inimigo 32X32

Mensagem por gilomania3d em Sex 05 Fev 2010, 20:57

Como faço o npc andar de 32 em 32 pixeis para o player fiz assim

no event step
Código:
if place_snapped(32,32) { speed = 0 if keyboard_check(vk_up) and place_free(x,y-32){speed = 4;direction = 90 }
if keyboard_check(vk_down) and place_free(x,y+32){speed = 4;direction = 270 global.posicao1 = 2}
if keyboard_check(vk_right) and place_free(x+32,y){speed = 4;direction = 0 global.posicao1 = 3}
if keyboard_check(vk_left) and place_free(x-32,y){speed = 4;direction = 180 global.posicao1 = 4}}

if keyboard_check(vk_up)
{
    sprite_index = spr_tank_plr1
    global.posicao1 = 1
}
if keyboard_check(vk_down)
{
    sprite_index = spr_tank_plr1b
    global.posicao1 = 2
}
if keyboard_check(vk_right)
{
    sprite_index = spr_tank_plr1d
    global.posicao1 = 3
}
if keyboard_check(vk_left)
{
    sprite_index = spr_tank_plr1e
    global.posicao1 = 4
}     
if keyboard_check_pressed(vk_numpad0) and pode1 = true then
{
    instance_create(x+16,y+16,Bala1);
    alarm[0] = 2*room_speed
    pode1 = false;
}

e deu certo

Mas no NPC não funciona

no NPC fiz assim

Código:
if place_snapped(32,32) {speed = 0 if place_free(x,y-32) and posicao = 1 {speed = 4;direction = 90 }
if posicao = 2 and place_free(x,y+32){speed = 4;direction = 270}
if posicao = 3 and place_free(x+32,y){speed = 4;direction = 0 }
if posicao = 4 and place_free(x-32,y){speed = 4;direction = 180}}

if (pode = true and y < Player1.y and distance_to_object(Player1)) or (pode = true and y < Player2.y and distance_to_object(Player2))
{
    instance_create(x+16,y+16,Balainimigo);
    Balainimigo.speed=6;
    Balainimigo.direction = 90;
    alarm[0] = 2*room_speed;
    pode = false;
}

if (pode = true and y > Player1.y and distance_to_object(Player1)) or (pode = true and y > Player2.y and distance_to_object(Player2))
{
    instance_create(x+16,y+16,Balainimigo);
    Balainimigo.speed=6;
    Balainimigo.direction = 270;
    alarm[0] = 2*room_speed;
    pode = false;
}

if (pode = true and x > Player1.x and distance_to_object(Player1)) or (pode = true and x > Player2.x and distance_to_object(Player2))
{
    instance_create(x+16,y+16,Balainimigo);
    Balainimigo.speed=6;
    Balainimigo.direction = 0;
    alarm[0] = 2*room_speed;
    pode = false;
}

if (pode = true and x < Player1.x and distance_to_object(Player1)) or (pode = true and x < Player2.x and distance_to_object(Player2))
{
    instance_create(x+16,y+16,Balainimigo);
    Balainimigo.speed=6;
    Balainimigo.direction = 180
    alarm[0] = 2*room_speed;
    pode = false;
}

Espero Ajuda Flw

gilomania3d

Número de Mensagens : 245
Idade : 25
Data de inscrição : 10/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

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