Professional Documents
Culture Documents
0 see
// https://help.yoyogames.com/hc/en-us/articles/360005277377 for more information
function scr_slime_colisao(){
if place_meeting(x + hveloc, y, obj_parede){
while !place_meeting(x + sign(hveloc), y, obj_parede){
x += sign(hveloc);
}
hveloc = 0;
}
if place_meeting(x, y + vveloc, obj_parede){
while !place_meeting(x, y + sign(vveloc), obj_parede){
y += sign(vveloc);
}
vveloc = 0;
}
}
function scr_slime_checar_personagem(){
if distance_to_object(obj_personagem) <= dist_aggro{
estados = scr_slime_perseguido;
}
}
function scr_slime_escolher_estado(){
scr_slime_checar_personagem();
if prox_estado == scr_slime_andando{
estados = scr_slime_andando;
dest_x = irandom_range(0, room_width);
dest_y = irandom_range(0, room_height);
}
else if prox_estado == scr_slime_parado{
estados = scr_slime_parado;
}
}
function scr_slime_andando(){
scr_slime_checar_personagem();
image_speed = 1;
scr_slime_colisao();
}else{
x = dest_x;
y = dest_y;
}
}
function scr_slime_parado(){
scr_slime_checar_personagem();
image_speed = 0.5;
}
function scr_slime_perseguido(){
image_speed = 1.5;
dest_x = obj_personagem.x;
dest_y = obj_personagem.y;
scr_slime_colisao();