如何旋转精灵和移动
Posted
技术标签:
【中文标题】如何旋转精灵和移动【英文标题】:How to rotate sprite and move 【发布时间】:2015-12-26 04:46:46 【问题描述】:如何移动精灵的正面方向。我已经和引擎 gles 2。我尝试添加精灵,我给了速度,但精灵只是左边,顶部,底部和右边我想要精灵可以交叉方向。即当我旋转精灵的前面时,移动那个方向。怎么能把我的精灵放在前面的位置?所以,如果精灵的前面看底部精灵必须移动底部方向,如果左上精灵的精灵前面方向必须移动左上角。喜欢这张图。。
http://i.stack.imgur.com/muoSg.png
我的代码...
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
float pTouchAreaLocalX, float pTouchAreaLocalY)
if (pSceneTouchEvent.isActionDown())
//Rotate left button
if(id==0)
shipSprite.setRotation(-10);
//速度按钮
if(id==1)
shipSprite.mPhysicsHandler.setVelocityY(-400);
return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
不会交叉(即精灵的前面)...只是在 Y 方向..
【问题讨论】:
欢迎来到 SO!请显示您尝试过的代码,指出您的问题所在。 “给我写代码”问题很可能会被关闭 首先感谢您的回复,我添加了我的代码。我希望有人可以帮助我:/ @MarioTrucco 嗨,你在 andEngine 中没有像精灵前面那样的东西。但是,您可以像 user2413972 的答案中所示那样计算。此外,在使用 box2d 物理时,您不应该单独旋转精灵。而是旋转身体,精灵将跟随旋转。 【参考方案1】:我不知道和引擎。并且在“andengine move sprite forward”上没有找到任何东西。但我可以提供数学意义:
a - 你的轮换。 不要忘记对向量进行归一化。祝你好运!
shipSprite.mPhysicsHandler.setVelocityX(f.x);
shipSprite.mPhysicsHandler.setVelocityY(f.y);
【讨论】:
以上是关于如何旋转精灵和移动的主要内容,如果未能解决你的问题,请参考以下文章