【问题标题】: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 物理时,您不应该单独旋转精灵。而是旋转身体,精灵将跟随旋转。

标签: android logic sprite andengine move


【解决方案1】:

我不知道和引擎。并且在“andengine move sprite forward”上没有找到任何东西。但我可以提供数学意义:

a - 你的轮换。 不要忘记对向量进行归一化。祝你好运!

shipSprite.mPhysicsHandler.setVelocityX(f.x);
shipSprite.mPhysicsHandler.setVelocityY(f.y);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多