1
我必须在Game Maker中为此项目工作,并且我想将对象移动到另一个对象。这是迄今为止我所拥有的。有谁知道我做错了什么?敌人现在在玩家周围旋转。向某个方向移动对象
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;
为什么这个代码必须在去拍摄的第一个人(用最小的ID) end_step事件而不是只是步骤事件? – 2015-01-23 04:48:02
因为所有实例在'step'事件之后和'end step'事件之前改变位置。例如,如果你的对象'obj_player'的速度为4,位置x = 0,则'step'事件的'x = obj_player.x'为0,但是'step end'事件为4.因此,如果我在step事件中执行'direction = point_direction(x,y,player_obj.x,player_obj.y)',它会使用旧的'player_obj'位置,你会看到一些延迟。 – Dmi7ry 2015-01-23 08:25:14