AndEngine Box2D заставляет двигаться падающего персонажа

Я разрабатываю игру с боковой прокруткой, такую ​​как Super Mario. Я пытаюсь переместить персонажа с помощью setLinearVelocity(), но это не работает должным образом. Когда персонаж падает, а затем начинает двигаться, он не продолжает падать, а только движется.

Это фрагмент кода:

Sprite backward = new Sprite( -50, CAMERA_HEIGHT - 170, backwardr){
    @Override
    public boolean onAreaTouched(TouchEvent pEvent, float pX, float pY){
        if(!pEvent.isActionUp()){
            charactersprite.getTextureRegion().setFlippedHorizontal(true);
            body.setLinearVelocity(new Vector2(3,0)); // There's the problem

        }else{
            body.setLinearVelocity(new Vector2(0,0)); // Don't look at there
        }
        return false;
    }
};

Кто-нибудь может мне помочь?


person Jonas Peteraitis    schedule 12.12.2011    source источник
comment
...Я не вижу никаких вопросов. Что ты спрашиваешь? Возможно, вы захотите уточнить.   -  person Bart    schedule 12.12.2011
comment
Я спрашиваю, как перемещать персонажа? ( Я пытался двигаться с помощью setLinearVelocity(...); но это не работает должным образом, потому что когда персонаж падает и начинает двигаться, то он не падает, а только движется.   -  person Jonas Peteraitis    schedule 12.12.2011
comment
Я обновил ваш вопрос для вас. Пожалуйста, проверьте, правильно ли это указано. Это та информация, которую вы обычно должны четко указывать.   -  person Bart    schedule 12.12.2011
comment
Я отредактировал его. Спасибо! Пожалуйста помоги!   -  person Jonas Peteraitis    schedule 12.12.2011
comment
я не работаю. Такой функции не существует. Пожалуйста помогите!   -  person Jonas Peteraitis    schedule 12.12.2011
comment
Работал! Спасибо! Прости за мои глупости! ... :Д   -  person Jonas Peteraitis    schedule 12.12.2011
comment
Если вы решили проблему, опубликуйте ответ, содержащий информацию, которую вы использовали, и примите ее.   -  person Jong    schedule 13.12.2011


Ответы (1)


Я исправил это с помощью:

Sprite backward = new Sprite( -50, CAMERA_HEIGHT - 170, backwardr){
    @Override
    public boolean onAreaTouched(TouchEvent pEvent, float pX, float pY){
    if(!pEvent.isActionUp()){
        charactersprite.getTextureRegion().setFlippedHorizontal(true);
        body.setLinearVelocity(new Vector2(3,body.getLinearVelocity.y)); // There's the problem

    }else{
        body.setLinearVelocity(new Vector2(0,getLinearVelocity.y)); // Don't look at there
    }
    return false;
}
};
person Jonas Peteraitis    schedule 22.12.2011