gpt4 book ai didi

android - Andengine中的旋转图像

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:32 25 4
gpt4 key购买 nike

让我们假设有错误从外面进入屏幕。为此,我们需要 4 个坐标(StartX、StartY、TargetX、TargetY)。如何将 bug 旋转到合适的方向?我已经弄乱了好几个小时,一直无法弄清楚这部分。所以错误进入屏幕但它没有朝向正确的方向。 (四个坐标为随机数)。

我正在计算我在学校学到的直线的梯度:

int deltaY = TargetY - StartY;
int deltaX = TargetX - StartX;
float gradient = (float)deltaY / (float)deltaX;

然后旋转 bug 的角度:

float angle = (float) (Math.atan(gradient) * 180 / PI);

然后这里是旋转和移动修饰符:

registerEntityModifier(new RotationModifier(0.3f, 0, angle) {
@Override
protected void onModifierFinished(IEntity pItem) {
super.onModifierFinished(pItem);

registerEntityModifier(new MoveModifier(0.8f, StartX, TargetX, StartY, TargetY) {
@Override
protected void onModifierFinished(IEntity pItem) {
super.onModifierFinished(pItem);
}
});
}
});

解决方案更复杂,因为在一定梯度的线上, bug 可以来自两个方向,因此它可以面向两个方向。我知道 1/2 的梯度意味着 26.56 度,在 AndEngine 坐标系中它意味着 -26.56 或 -206.56 度,具体取决于错误来自哪一侧。

最佳答案

尝试这样的事情:

float bugAngle = 180 + (float) Math.toDegrees(Math.atan2((targetY - bugSprite.getRotationCenterY() - startY), (targetX - bugSprite.getRotationCenterX() - startX)));
bugSprite.setRotation(bugAngle);

请原谅长线死亡。

关于android - Andengine中的旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12660190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com