如何旋转精灵并移动

时间:2015-09-28 20:46:49

标签: android logic sprite andengine move

如何移动精灵正面方向的精灵。我有一个发动机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方向..

1 个答案:

答案 0 :(得分:1)

I dont know andengine. And did not find anything on "andengine move sprite forward". But I can offer mathematical meaning:

enter image description here

a - your rotation. Do not forget to normalize the vector. Good luck!

shipSprite.mPhysicsHandler.setVelocityX(f.x);
shipSprite.mPhysicsHandler.setVelocityY(f.y);
相关问题