Привет всем. Итак сделал простое AI врага, это 2D платформер, и вот в чём проблема, когда игрок выше или ниже врага, то враг стоит на месте, а его анимация дёргается то влево, то вправо, это происходит очень быстро. Но проблема не в анимации, а в том что объект врага резко идёт то влево, то вправо. И ещё, дёргаться начинает враг только когда он выше или ниже игрока, и стоит на одной координате по оси x.
Вот код врага в Step'e
Код
gravity_direction=270
if place_free(x,y+1)
gravity=0.9
else
gravity=0;
if hp < 1 {instance_create(x,y,obj_gnom_dead) instance_destroy()}
if distance_to_object(obj_snowman) <= 300
{
if distance_to_object(obj_snowman) >= 60
{
if obj_snowman.x < x
{
if place_free(x-4,y)
{
image_xscale = -1
hspeed = -4
sprite_index=spr_gnom
image_speed = 2
}
if canshoot=0
{
instance_create(x,y, obj_snowball2)
alarm[3] = room_speed*1.5
sc=0
canshoot=1
}
if place_free(x-4,y+1)
{
if canjump=0
{
vspeed = -16
canjump=1
}
}
}
else
if obj_snowman.x > x
{
if place_free(x+4,y)
{
image_xscale = 1
hspeed = 4
sprite_index=spr_gnom
image_speed = 2
}
if canshoot=0
{
instance_create(x,y, obj_snowball2)
alarm[3] = room_speed*1.5
sc=1
canshoot=1
}
if place_free(x+4,y+1)
{
if canjump=0
{
vspeed = -16
canjump=1
}
}
}
else
{
hspeed=0
image_speed=0
image_index=0
}
}
}
Помогите плиз!