6/100 - 使用路径功能移动对象至指定坐标

挑战评级:★★

水准 时限
初学 60分钟
略懂 30分钟
熟练 8分钟
计分项 得分
准时完成 20分
进阶挑战 20分

挑战目标

鼠标右键在任意位置点击,自动创建一个玩家角色移动到该坐标的路径(path),同时能自动避开途中的障碍物。

进阶挑战

在玩家移动时调整路径的角度,使得玩家永远面朝目标进行移动

注意事项

在这个挑战中你需要知道基础的"mp_grid_"和"path_"相关函数

挑战指南

用以下代码可以创建mp_grid:

size=16;//设置尺寸
grid = mp_grid_create(0,0,ceil(room_width/size),ceil(room_height/size),size,size);
//创建mpgrid;

下面的函数可以用于指定实例:

mp_grid_add_instances(grid,obj_obstacle,1);

下面的函数可以用来更新路径:

mp_grid_path(grid,path,x,y,target_x,target_y,true);

这个可以用来创建路径:

path=path_add();

启动路径:

path_start(path, 2, path_action_stop, true);

要注意的是千万不要再步事件(step)中不断创建路径,这样会完全动不了。
你可以用"path_delete()"函数来删除不用的路径,通常情况下在当前场景结束时才会去进行销毁

2021-04-28 15:30
Comments
Write a Comment