我在游戏制造商携手合作,这个项目,我想对另一对象移动的对象。这是我这么远。有谁知道我做错了吗?敌人现在转圈的球员。
draw_sprite(sprite_index,image_index,x,y);
moveSpeed = 1;
angle = arctan2(enemy_obj.x - player_obj.x, enemy_obj.y - player_obj.y);
enemy_obj.x += cos(angle) * moveSpeed;
enemy_obj.y -= sin(angle) * moveSpeed;
使用内置GM-函数(此代码必须被放置在敌方目标的end step
事件):
angle = point_direction(x, y, player_obj.x, player_obj.y);
x += lengthdir_x(moveSpeed, angle);
y += lengthdir_y(moveSpeed, angle);
要么:
direction = point_direction(x, y, player_obj.x, player_obj.y);
if point_distance(x, y, player_obj.x, player_obj.y) > 10 // min distance
{
speed = moveSpeed;
}
或者你可以使用运动规划功能,如mp_potential_step
或mp_grid_...
为A*。
附:当您使用这样的代码
angle = arctan2(enemy_obj.x - player_obj.x, enemy_obj.y - player_obj.y);
你必须明白,如果是enemy_obj
的几个实例,然后将只采取的第一个人(用最小的ID)