2011-12-21 1 views
2

У меня есть сценарий здесь:AndEngine 2d скролинговый характера движение

final FixtureDef characterfictur = PhysicsFactory.createFixtureDef(0.5f, 0.1f,0.1f); // Maybe other fixture? 

this.mScene.registerUpdateHandler(this.mPhysicsWorld); 

final Body body = PhysicsFactory.createBoxBody(this.mPhysicsWorld, charactersprite, BodyType.DynamicBody, characterfictur); 

this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(charactersprite, body, true, false)); 
mScene.attachChild(charactersprite); 

createUnwalkableObjects(mTMXTiledMap); 
// HUD 
HUD my = new HUD(); 
Sprite forward = new Sprite(50, CAMERA_HEIGHT - 170, forwardr) { 
    @Override 
    public boolean onAreaTouched(TouchEvent pEvent, float pX, float pY) { 
     if(!pEvent.isActionUp()) { 
      charactersprite.getTextureRegion().setFlippedHorizontal(false); 
      body.setLinearVelocity(new Vector2(CHAR_MOVING_SPEED,body.getLinearVelocity().y)); // Velocity 
      //body.applyLinearImpulse(new Vector2(2,0), body.getPosition()); 
     } else { 
      //body.applyLinearImpulse(new Vector2(0,0), body.getPosition()); 
      body.setLinearVelocity(new Vector2(0,body.getLinearVelocity().y)); // LinearVelocity 
     } 
     return false; 

    } 
}; 

и немного вперед:

private void createUnwalkableObjects(TMXTiledMap map) { 
// Loop through the object groups 

    for(final TMXObjectGroup group: map.getTMXObjectGroups()) { 

     //if(group.getTMXObjectGroupProperties().containsTMXProperty("Zeme", "true")){ 
      // This is our "wall" layer. Create the boxes from it 

     for(final TMXObject object : group.getTMXObjects()) { 

      final Rectangle rect = new Rectangle(object.getX(), object.getY(),object.getWidth(), object.getHeight()); 
      final FixtureDef boxFixtureDef = PhysicsFactory.createFixtureDef(0, 0,3f); 
      PhysicsFactory.createBoxBody(this.mPhysicsWorld, rect, BodyType.StaticBody, boxFixtureDef); 
      rect.setVisible(false); 
      mScene.attachChild(rect); 
     } 
     //} 
    } 
} 

Так что, когда я перемещение персонажа он двигается очень странно. Он гудит, когда идет. Так, может быть, мне нужно изменить приборы или использовать другой метод перемещения?

+0

Пожалуйста, помогите мне !!!!!! –

ответ

1

Я бы предложил использовать fixedPhysicsWorld и fixedStepEngine. Это избавит вас от «раздражителей». Когда начнется уровень, вы, возможно, захотите иметь «Ready!» подскажите, что ждет несколько секунд, чтобы позволить физическому двигателю нарастать, поскольку он имеет тенденцию начинать немного медленно, а затем ускоряется.

 Смежные вопросы

  • Нет связанных вопросов^_^