Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – Andengine中的旋转图像大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们假设外面有漏洞进入屏幕.为此,我们需要有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,anglE) {
    @Override
    protected void onModifierFinished(IEntity pItem) {
        super.onModifierFinished(pItem);

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

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

解决方法

尝试这样的事情:

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

请原谅长线死亡.

大佬总结

以上是大佬教程为你收集整理的android – Andengine中的旋转图像全部内容,希望文章能够帮你解决android – Andengine中的旋转图像所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。