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()"函数来删除不用的路径,通常情况下在当前场景结束时才会去进行销毁
Comments