目前我正在将所有的精灵引用静态化,并在SimpleBaseGameActivity的OnCreateResource方法中加载和初始化它们。但现在我需要覆盖精灵的onAreaTouched监听器,而我想要覆盖它的方法是在初始化精灵时。但我有一个静态方法为每个精灵创建Atlas和Texture Region。我在我的场景类中使用这些精灵,并希望在那里覆盖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;
}
现在我该如何在不失去代码可重用性的情况下,为一些精灵(sprite)覆盖(onAreaTouched)方法。