私はこのようなコードを持っています:
mButton = new ButtonSprite(400 , 400, myTiledTextureRegion.getTextureRegion(0), myTiledTextureRegion.getTextureRegion(1),
activity.getVertexBufferObjectManager(), new OnClickListener() {
@Override
public void onClick(ButtonSprite pButtonSprite, float pTouchAreaLocalX,
float pTouchAreaLocalY) {
Toast.makeText(MenuScene.this.activity, "Clicked", Toast.LENGTH_LONG).show();
}
});
this.attachChild(mButton);
私の問題は、ボタンをクリックしてもトーストメッセージが表示されず(同じログを記録)、myTiledTextureRegion.getTextureRegion(1)のスプライトも変更されないことです。どうしてか分かりません?
ボタンをクリックできますが、反応はありません。AnimatedSpriteを使用してリソースをテストしてみましたが、アニメーションが正しく表示されます。ButtonSprite OnClickListenerとスプライトの変更が機能しないのはなぜですか?
リソースをロードする方法:
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
mBitmapTextureAtlas = new BuildableBitmapTextureAtlas(activity.getTextureManager(), 512, 256, TextureOptions.NEAREST);
myTiledTextureRegion = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(mBitmapTextureAtlas, activity, "btn.png", 1, 3);
try {
mBitmapTextureAtlas.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 1));
mBitmapTextureAtlas.load();
} catch (TextureAtlasBuilderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
アクティビティが1つ(および多くのシーン)しかないため、Sceneクラスですべてを実行します。手伝ってくれてありがとう。