Изменить изображение спрайта и двигателя

Привет, я использую Andengine для создания игрового приложения.

в этом я хочу изменить фоновое изображение спрайта, когда я нажимаю на этот спрайт. может ли любое тело помочь мне, как это сделать.

this.mFaceTextureRegionBackOn = TextureRegionFactory.extractFromTexture(this.mTextureBackOn);
this.mFaceTextureRegionBackOff = TextureRegionFactory.extractFromTexture(this.mTextureBackOff);

final ButtonSprite back = new ButtonSprite(centerXBack, centerYBack, this.mFaceTextureRegionBackOn, this.getVertexBufferObjectManager());
scene.attachChild(back);
back.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(ButtonSprite arg0, float arg1, float arg2) {
        MainActivity.this.mFaceTextureRegionBackOn = TextureRegionFactory.extractFromTexture(MainActivity.this.mTextureBackOff);
    }
});

есть кнопка спрайта, когда я нажимаю на эту кнопку, я изменяю область текстуры, но это не может помочь мне изменить изображение этого спрайта

2 ответа

Решение

В AndEngineExamples есть аналогичное использование, см. https://github.com/nicolasgramlich/AndEngineExamples/blob/GLES2/src/org/andengine/examples/UpdateTextureExample.java

Почему вы не можете просто создать два спрайта и изменить их видимость? Я включаю звук кнопками включения / выключения следующим образом:

soundOnBtn = new Sprite(TILE_SIZE/2, 0, TILE_SIZE, TILE_SIZE, gameResources.getSoundOnTR())
    {
        @Override
        public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY)
        {
            soundOn = !soundOn;
            soundOnBtn.setVisible(soundOn);
            soundOffBtn.setVisible(!soundOn);
            return true;
        }
    };
    mainScene.registerTouchArea(soundOnBtn);
    soundOffBtn = new Sprite(TILE_SIZE/2, 0, TILE_SIZE, TILE_SIZE, gameResources.getSoundOffTR());
    soundOffBtn.setVisible(false);
    bottomPanelLayer.attachChild(soundOnBtn);       
    bottomPanelLayer.attachChild(soundOffBtn);
Другие вопросы по тегам