AndEngine MenuScene - 不能点击按钮 [英] AndEngine MenuScene - can't click on Button
本文介绍了AndEngine MenuScene - 不能点击按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个小问题,Android和放大器; andengine。
这是我的主菜单我的源$ C $ C
I have a small problem with android & andengine. This is my source code of my main menu
// AbstractScene is extending Scene
public class MainMenuScene extends AbstractScene implements
IOnMenuItemClickListener {
private static final int MENU_CREATE = 10;
private static final int MENU_JOIN = 20;
private static final int MENU_ABOUT = 30;
private static final int MENU_SETTINGS = 40;
MenuScene scene;
@Override
public void loadResources() {
res.loadMenuResources();
}
@Override
public void create() {
// Background
setBackground(new Background(0.09804f, 0.6274f, 0.8784f));
// Buttons
scene = new MenuScene(res.camera);
//scene.setPosition(GameActivity.WIDTH_CENTER, GameActivity.HEIGHT_CENTER);
final SpriteMenuItem createGameMenuItem = new SpriteMenuItem(
MENU_CREATE, res.createRegion, res.vbom);
final SpriteMenuItem joinGameMenuItem = new SpriteMenuItem(MENU_JOIN,
res.joinRegion, res.vbom);
final SpriteMenuItem aboutMenuItem = new SpriteMenuItem(MENU_ABOUT,
res.aboutRegion, res.vbom);
final SpriteMenuItem settingsMenuItem = new SpriteMenuItem(
MENU_SETTINGS, res.settingsRegion, res.vbom);
scene.addMenuItem(createGameMenuItem);
scene.addMenuItem(joinGameMenuItem);
scene.addMenuItem(aboutMenuItem);
scene.addMenuItem(settingsMenuItem);
scene.buildAnimations();
scene.setBackgroundEnabled(false);
scene.setOnMenuItemClickListener(this);
setChildScene(scene, false, true, true);
}
@Override
public boolean onMenuItemClicked(MenuScene pMenuScene, IMenuItem pMenuItem,
float pMenuItemLocalX, float pMenuItemLocalY) {
Log.d("Menuitem", "click");
switch (pMenuItem.getID()) {
case MENU_CREATE:
return true;
case MENU_JOIN:
SceneManager.getInstance().showScene(SceneType.LISTGAMES);
return true;
case MENU_ABOUT:
return true;
case MENU_SETTINGS:
return true;
default:
return false;
}
}
}
这是从ResourceManager
And this is my code from the ResourceManager
// menu ressources
public void loadMenuResources() {
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
menuAtlas = new BuildableBitmapTextureAtlas(activity.getTextureManager(),
1024, 1024, BitmapTextureFormat.RGBA_8888, TextureOptions.BILINEAR);
createRegion = BitmapTextureAtlasTextureRegionFactory
.createFromAsset(menuAtlas, activity.getAssets(), "btn_create_game.png");
joinRegion = BitmapTextureAtlasTextureRegionFactory
.createFromAsset(menuAtlas, activity.getAssets(), "btn_join_game.png");
settingsRegion = BitmapTextureAtlasTextureRegionFactory
.createFromAsset(menuAtlas, activity.getAssets(), "btn_settings.png");
aboutRegion = BitmapTextureAtlasTextureRegionFactory
.createFromAsset(menuAtlas, activity.getAssets(), "btn_about.png");
try {
menuAtlas.build(new BlackPawnTextureAtlasBuilder<IBitmapTextureAtlasSource, BitmapTextureAtlas>(0, 0, 0));
menuAtlas.load();
} catch (TextureAtlasBuilderException e) {
throw new RuntimeException("Error while loading menu resources", e);
}
}
我的问题是,是, OnMenuItemClickListener
不叫,我不知道为什么。最code是来自官方的例子复制。我的应用程序显示在后台菜单按钮等,但我不能在同一点击。
My problem is, that the OnMenuItemClickListener
is not called and i don't know why. The most code is copied from the official example. My app shows the background menus button etc but i cant click at one.
有谁知道这是为什么? THX!
Does anybody knows why? Thx!
推荐答案
您缺少一个寄存器触摸区域呼叫
You are missing a register touch area call
scene.registerTouchArea(createGameMenuItem);
scene.registerTouchArea(joinGameMenuItem);
scene.registerTouchArea(aboutMenuItem);
scene.registerTouchArea(settingsMenuItem);
这篇关于AndEngine MenuScene - 不能点击按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文