1

私はこのようなコードを持っています:

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クラスですべてを実行します。手伝ってくれてありがとう。

4

2 に答える 2

5

これが問題かどうかを確認してください... ボタンを取り付ける前に、this.attachChild(mButton);必ず でタッチ領域を登録してくださいthis.registerTouchArea(mButton);

于 2012-10-08T00:21:53.670 に答える
1

スプライトをシーンに追加した後、次を使用してみてください:scene.setTouchAreaBindingOnActionDownEnabled(true);

于 2012-10-08T09:03:53.890 に答える