Andengine(gles2) - ButtonSprite不要点击反应(Andengine (

2019-09-23 16:16发布

我有这样的代码:

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);

我的问题是,当我点击我的按钮,我真弄土司消息(日志相同)和ASLO精灵不会为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();
    }

我做我的现场课堂上的一切,因为我只有一个活动(以及许多场景)。 感谢帮助。

Answer 1:

看看这是问题...您将与按钮之前this.attachChild(mButton); 可以肯定,并且还注册与触摸区域this.registerTouchArea(mButton);



Answer 2:

尝试,加入精灵进入现场后,使用方法:scene.setTouchAreaBindingOnActionDownEnabled(真);



文章来源: Andengine (gles2) - ButtonSprite don't react on click