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