20 レベルの迷路とボール ゲームを開発しています。私のゲームでは、1 つの問題を除いてすべての問題が修正されています。ボールの動きを滑らかにすることにこだわっています。ボールの瞬間は、アニメーション レベルを除くすべてのレベルで良好です。間違いがどこにあったかを見つけることができません。
すべてのレベルで、ボールはスプライトであり、レベルの画像はスプライトとアニメーション化されたスプライトです。レベル画像のスプライトと 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);
ボールの瞬間にわずかな変化がありますが、他のレベル (アニメーション化されていないレベル) ではそれほどスムーズではありません。まだ軽く弾かれています。その問題のためにゲームをプレイできません。
これについて知っていれば、誰でも私を助けることができますか。任意の応答をいただければ幸いです。
ありがとう。