我正在开发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);


球力矩略有变化,但在其他关卡(非动画关卡)中则没有那么平滑。它仍然会轻微反弹。并且由于这个问题而无法玩游戏。

如果知道这一点,谁能帮助我。任何回应将不胜感激。

谢谢。

最佳答案

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

通过进行此更改,球力矩变得与现在的非动画关卡一样平滑。

谢谢

08-05 12:16