Изменить изображение спрайта и двигателя
Привет, я использую 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);