私は Andengine を初めて使用し、River City Ransom に似たゲームプレイでゲームを作成しようとしました - http://www.youtube.com/watch?v=goQlPC5wOic
問題: シーンの作成中に、プレイヤー スプライト、背景、HUD をロードします。他のすべての準備が整う前にこれらのいずれかをロードするのは意味がないため、一度にロードしても問題ありません。
しかし、新しい Sprite の新しい TiledTextureRegion を非同期的に作成しようとすると (新しい敵がエッジからシーンに表示されます)、TextureRegion がアセットから作成される間にまだ遅延が発生します。
例:
new LoadNewEnemyOnSceneTask(enemyTexture, enemyTextureRegion, mScene, this).execute();
public class LoadNewEnemyOnSceneTask extends AsyncTask<String, Void, PixelPerfectAnimatedSprite> {
private PixelPerfectTiledTextureRegion enemyTextureRegion;
private BitmapTextureAtlas enemyTexture;
private Scene scene;
BaseGameActivity act;
public LoadNewEnemyOnSceneTask(BitmapTextureAtlas enemyTexture, PixelPerfectTiledTextureRegion enemyTextureRegion, Scene scene, BaseGameActivity act)
{
this.enemyTexture = enemyTexture;
this.enemyTextureRegion = enemyTextureRegion;
this.scene = scene;
this.act = act;
}
@Override
protected PixelPerfectAnimatedSprite doInBackground(String... params) {
enemyTextureRegion = PixelPerfectTextureRegionFactory.createTiledFromAsset(enemyTexture, act.getAssets(), "akira.png", 0, 200, 5, 3, 0);
PixelPerfectAnimatedSprite enemy = new PixelPerfectAnimatedSprite(480, 200, enemyTextureRegion, act.getVertexBufferObjectManager());
return enemy;
}
@Override
protected void onPostExecute(PixelPerfectAnimatedSprite result)
{
scene.attachChild(result);
}
}
これは Andengine の内部バグ/機能ですか? シーンに新しいテクスチャを動的にロードする方法はありますか? 私が見つけた唯一の情報は、ゲーム前のリソースの読み込みに関するものでした。