如何在塔防游戏中使用 2d 帧使炮塔指向一个对象?

How to make turret pointing at an object using 2d frames in tower defense games?

我正在开发塔防游戏,我正在使用 stencyl。

我想制作像(部落冲突)这样的 2d 塔防游戏,所以我想知道如何使用像(部落冲突中的佳能)这样的框架制作一个指向物体的炮塔。

我的意思是当一个物体进入塔的范围时,塔将指向它而不旋转塔,而是使用 2d 框架而不是通过某种方式使用代码或数学方法。

我找到了解决办法。 这样做:

float Direction = 0;
float FinalDirection = 0;
float DirectionDegree = 0;
int NumberOfDirections = 0; // eg: 24 or 32 or even 128 or anything Directions

DirectionDegree = 360 / NumberOfDirections;

void update() // this will run every frame
{
    Direction = Math.atan2(target.y - tower.y, target.x - tower.x ) * (180 / Math.PI);

    if(Direction < 0)
    {
        Direction += 360;
    }

    FinalDirection = Direction / DirectionDegree;
    tower.frame = FinalDirection;
}