現在、すべてのスプライトへの静的参照があり、SimpleBaseGameActivityのOnCreateResource mthodでそれらをロードして初期化していますが、今度は、スパーツのonAreaTouchedリスナーと、スプライトの初期化中にオーバーライドできる方法をオーバーライドする必要があります。しかし、すべてのスプライトに対してアトラスとテクスチャ領域を作成する静的メソッドがあります。そして、シーンクラスでこれらのスプライトを使用しており、そこでonAreaTouchedをオーバーライドしたいと思います。シーン内のその特定のスプライトにTouchAreaを登録して実行できるようにすることはできますが、コードの再利用を実行できるようにOnAreaTouchedをオーバーライドしたいと思います。これが私が現在スプライトを作成してロードしている方法です。
defualtCageSprite = createAndLoadSimpleSprite("bg.png", this, 450, 444);
そして、これは私のメソッドcreateAndLoadSimpleSpriteです。
public static Sprite createAndLoadSimpleSprite(String name,
SimpleBaseGameActivity activity, int width, int height) {
BitmapTextureAtlas atlasForBGSprite = new BitmapTextureAtlas(
activity.getTextureManager(), width, height);
TextureRegion backgroundSpriteTextureRegion = BitmapTextureAtlasTextureRegionFactory
.createFromAsset(atlasForBGSprite, activity, name, 0, 0);
Sprite sprite = new Sprite(0, 0, backgroundSpriteTextureRegion,
activity.getVertexBufferObjectManager());
activity.getTextureManager().loadTexture(atlasForBGSprite);
return sprite;
}
コードの再利用性を失わずに、一部のスプライトのonAreaTouchedをオーバーライドするにはどうすればよいですか。