ButtonSpriteの問題に出くわしたとき、私は昨夜転がっていました。私は以前にこれを行ったことがあると断言できました-それはとても簡単に思えます-しかし、AndEngineExamples が提供するコードを使用することは実際には意味がなく、エラーが発生します (たとえば、漠然とした「run()」メソッドはなぜすべての単一のタッチイベントへの応答?)
だから私は理にかなっていると思われることをしました。
private void loadScenes()
{
mainScene = new Scene();
menu = new Sprite(0, 0, menuTextureRegion, mEngine.getVertexBufferObjectManager()){
@Override
protected void preDraw(GLState pGLState, Camera pCamera)
{
super.preDraw(pGLState, pCamera);
pGLState.enableDither();
}
};
newgamebutton = new ButtonSprite(25, 200, newgameTextureRegion, mEngine.getVertexBufferObjectManager());
multiplayerbutton = new ButtonSprite(25, 310, multiplayerTextureRegion, mEngine.getVertexBufferObjectManager());
menu.setScale(1.65f);
menu.setPosition((CAMERA_WIDTH - menu.getWidth()) * 0.5f, (CAMERA_HEIGHT - menu.getHeight()) * 0.5f);
mainScene.attachChild(menu);
mainScene.attachChild(newgamebutton);
mainScene.attachChild(multiplayerbutton);
mainScene.registerTouchArea(multiplayerbutton);
mainScene.setTouchAreaBindingOnActionDownEnabled(true);
multiplayerbutton.onAreaTouched(mButtonTouched, multiplayerbutton.getWidth(), multiplayerbutton.getHeight());
if(mButtonTouched.isActionDown()) {
mainScene.detachChild(menu);
mainScene.detachChild(multiplayerbutton);
}
}
それは理にかなっているようです。「マルチプレイヤー ボタン」が押されると、mButtonTouched が与えられ、それが押されると、メニューとマルチプレイヤー ボタンが切り離されます。これは明らかに私がテストしているだけであり、実際のプロジェクトの一部ではありません. また、さまざまなサイトで、マルチプレイヤー ボタンの前に「public boolean」を配置する必要があると書かれていますが、Eclipse にはそれがありません。
皆さんはすでにこれを理解していると確信していますが、私は AndEngine の超初心者です。助けてくれてありがとう、みんな!