
我正在学习在学校学到的线条的渐变:
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中的旋转图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)