如何使发动机的球力矩更加平稳

时间:2011-08-05 04:10:34

标签: android andengine

我正在开发一个20级的迷宫和球类游戏。除了一个问题,所有问题都在游戏中修复。我被困在让球瞬间变得更加平滑。除了动画水平之外,各个级别的球时刻都很好。我无法找到错误的位置。

在所有级别中,球都是精灵,水平图像是精灵和动画精灵。我有水平图像的动画精灵以及6个级别的球。在剩余的水平水平图像和球都只是精灵。

所有动画精灵都有1024x1024大小的纹理。  我使用以下代码来创建动画精灵。

this.multipleImagesTexture = new Texture(1024,1024,TextureOptions.BILINEAR_PREMULTIPLYALPHA);
this.multipleImagesTextureRegion =   TextureRegionFactory.createTiledFromResource(this.multipleImagesTexture, this, getResources().getIdentifier(m_level.m_levelImages.get(j), "drawable", "com.andmaze.mobile"),0, 0, col,row); 
this.mEngine.getTextureManager().loadTexture(this.multipleImagesTexture); 
multipleimagesdragon = new AnimatedSprite(5, 83, this.multipleImagesTextureRegion);    
multipleimagesdragon.animate(1000); 
scene.getFirstChild().attachChild(multipleimagesdragon);

以下是为球创建精灵的代码

for(GoliMeta g : metalist) {
    balls_Array[index] = new Sprite(g.X , g.Y, ballTextureRegion);
    Body body = PhysicsFactory.createCircleBody(mPhysicsWorld, balls_Array[index],    BodyType.DynamicBody, FIXTURE_DEF);
    scene.getFirstChild().attachChild(balls_Array[index]);
    mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(balls_Array[index], body, true, false));
    index++;
}

在迷宫中有正常精灵的所有等级中,球的力矩都很好。在其他级别,即我有动画精灵,那里的球时刻是不寻常的。我已将physicsworld目标代码更改为

    mPhysicsWorld = new FixedStepPhysicsWorld(30, new Vector2(0,SensorManager.GRAVITY_EARTH), false);

而不是

     mPhysicsWorld = new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH), false);

球的力矩略有变化,但在其他等级(非动画等级)中没有那么平滑。它仍然轻轻地反弹。而且由于那个问题无法玩游戏。

如果知道这一点,任何人都可以帮助我。任何回应都会受到赞赏。

感谢。

1 个答案:

答案 0 :(得分:2)

编码和所有问题都没有错。我已经通过将动画图像的帧分辨率从3x2(即3行和2列)更改为3x3(即3行和3列)来解决了这个问题。现在,在所有动画级别中,每个图像都有9帧,其中每帧有6帧。

通过改变球的瞬间变得比非动画水平更加平滑。

由于