如何在塔防游戏中使用2D帧使炮塔指向物体?

时间:2019-06-06 18:44:32

标签: openfl stencyl

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

我想制作2D塔防游戏,例如(部落冲突),所以我想知道如何使用像(部落冲突中的佳能)那样的炮塔指向目标。

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

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 这样做:

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;
}