目前,我正在对我的所有精灵进行静态引用,并在 SimpleBaseGameActivity 的 OnCreateResource 方法中加载和初始化它们,但是现在我必须在精灵上覆盖 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。