mấy bác các thể chỉ em cách làm cho nhân vật di chuyển. VD khi ta ấn chuột tại bất kỳ vị trí nào đó thì nhân vật sẽ quay người theo hướng đó, em chỉ mới làm được cái event chuột thui còn làm nhân vật quay thì chịu (em có đủ hình chuyển động mọi hướng của nhân vật)mấy bác các thể chỉ em cách làm cho nhân vật di chuyển. VD khi ta ấn chuột tại bất kỳ vị trí nào đó thì nhân vật sẽ quay người theo hướng đó, em chỉ mới làm được cái event chuột thui còn làm nhân vật quay thì chịu (em có đủ hình chuyển động mọi hướng của nhân vật)
-->bác câu bài nhá
Đây là cách giải quyết cho bác PKMVN, chẳng hạn bác có các sprite xoay theo 4 hướng lên xuống trái phải như sau: spr_herolen, spr_heroxuong, spr_herotrai, spr_herophai
Trước hết bác tạo một objects chuột, add cái event right_click để gán các biến sau
global.xmoi:=mouse_x;
global.ymoi:=mouse_y;
bác tạo 1 obj mới, đặt là obj_hero, sprite là 1 trong 4 hình trên.
-Add event Create với đoạn script :
global.xmoi=x
global.ymoi=y
-Add event Step với đoạn script:
dis=distance_to_point(global.xmoi,global.ymoi)
if dis>0 then
{
image_single=-1
goc=point_direction(x,y,global.xmoi,global.ymoi)
if goc<45 || goc>315 sprite_index=spr_herophai
else if goc>=45 && goc<135 sprite_index=spr_herolen
else if goc>=135 && goc<225 sprite_index=spr_herotrai
else if goc>=225 && goc<315 sprite_index=spr_heroxuong
move_towards_point(global.xmoi,global.ymoi,10)
}
else
{speed=0
image_single=1
x=global.xmoi
y=global.ymoi
}
Sau đó Add 2 obj_chuot và obj_hero vào room rồi bấm F5 chạy thử
Giải thích thêm
distance_to_point(x,y):tính khoảng cách giữa instance tới vị trí (x,y)
point_direction(x1,y1,x2,y2):tính góc giữa 2 vitrí (x1,y1) và (x2,y2)
sprite_index:thay đổi sprite hiện tại
image_single:thay đổi số number trong 1 sprite(mặc định là -1)
Thôi nhá, lần sau post tiếp