我想实现一个功能,让一个对象在C++中跟随一个移动的对象。任何关于如何做到这一点的建议对我都会有很大帮助。
回答:
这篇出色的帖子提到,我引用如下:
玩家的位置是点1。敌人的位置是点2。首先,你需要找出x1和x2以及y1和y2之间的差异(我称之为xd和yd)。然后,你可以通过计算theta = atan(yd/xd)来得到两点之间的角度。现在,你应该能够使用角度和想要移动的距离来得到新的x和y(我称之为x3和y3),其中x3 = (d)(cos(theta)),y3 = (d)(sin(theta))。将敌人移动到(x3, y3)。
d是敌人每次更新移动的速度。你可能需要调整符号来获得正确的方向(例如,如果敌人在x方向上移动正确但在y方向上移动错误,则更改y上的符号)。
更多内容请见:游戏敌人朝玩家移动