У меня проблема с AndEngineкнопка AndEngine Sprite должна оставаться нажатой
я не нашел класс для флажков или переключателей (вкл/выкл) в AndEngine, поэтому я хочу, чтобы создать кнопку, которую я могу нажать и он останется нажатым.
Я попытался с mButtonSprite.State.PRESSED
, но я не знаю, как использовать его, может быть, вы можете мне помочь ...
Мой код:
public class MainActivity extends SimpleBaseGameActivity{
private int WIDTH = 1600;
private int HEIGHT = 900;
private BuildableBitmapTextureAtlas mBitmapTextureAtlas;
private ITiledTextureRegion mButtonTextureRegion;
public Sprite mButtonSprite;
private State mState;
@Override
public EngineOptions onCreateEngineOptions() {
final Camera mCamera = new Camera(0, 0, WIDTH, HEIGHT);
return new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR,
new RatioResolutionPolicy(WIDTH, HEIGHT),
mCamera);
}
@Override
protected void onCreateResources() {
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
mBitmapTextureAtlas = new BuildableBitmapTextureAtlas(mEngine.getTextureManager(),WIDTH, HEIGHT,TextureOptions.BILINEAR);
mButtonTextureRegion = BitmapTextureAtlasTextureRegionFactory.createTiledFromAsset(mBitmapTextureAtlas,this,"rectangle_one.png", 2,1);
try {
mBitmapTextureAtlas
.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(
0, 2, 1));
mBitmapTextureAtlas.load();
} catch (TextureAtlasBuilderException e) {
e.printStackTrace();
}
}
@Override
protected Scene onCreateScene()
{
this.mEngine.registerUpdateHandler(new FPSLogger(60));
final Scene mScene = new Scene();
mScene.getBackground().setColor(00000, 00000,00000);
mScene.setTouchAreaBindingOnActionDownEnabled(true);
ButtonSprite mButtonSprite = new ButtonSprite(900,450, mButtonTextureRegion,
mEngine.getVertexBufferObjectManager()){
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent,
float pTouchAreaLocalX, float pTouchAreaLocalY){
return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
}
};
mScene.registerTouchArea(mButtonSprite);
mScene.attachChild(mButtonSprite);
return mScene;
}
}