package org.andengine.examples; import org.andengine.entity.scene.menu.MenuScene; import org.andengine.entity.scene.menu.animator.SlideMenuAnimator; import org.andengine.entity.scene.menu.item.IMenuItem; import org.andengine.entity.scene.menu.item.SpriteMenuItem; import org.andengine.opengl.texture.TextureOptions; import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlas; import org.andengine.opengl.texture.atlas.bitmap.BitmapTextureAtlasTextureRegionFactory; import org.andengine.opengl.texture.region.ITextureRegion; /** * (c) 2010 Nicolas Gramlich * (c) 2011 Zynga * * @author Nicolas Gramlich * @since 11:33:33 - 01.04.2010 */ public class SubMenuExample extends MenuExample { // =========================================================== // Constants // =========================================================== private static final int MENU_QUIT_OK = MenuExample.MENU_QUIT + 1; private static final int MENU_QUIT_BACK = MENU_QUIT_OK + 1; // =========================================================== // Fields // =========================================================== private MenuScene mSubMenuScene; private BitmapTextureAtlas mSubMenuTexture; private ITextureRegion mMenuOkTextureRegion; private ITextureRegion mMenuBackTextureRegion; // =========================================================== // Constructors // =========================================================== // =========================================================== // Getter & Setter // =========================================================== // =========================================================== // Methods for/from SuperClass/Interfaces // =========================================================== @Override public void onCreateResources() { super.onCreateResources(); BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/"); this.mSubMenuTexture = new BitmapTextureAtlas(this.getTextureManager(), 256, 128, TextureOptions.BILINEAR); this.mMenuOkTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mSubMenuTexture, this, "menu_ok.png", 0, 0); this.mMenuBackTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mSubMenuTexture, this, "menu_back.png", 0, 50); this.mSubMenuTexture.load(); } @Override protected void createMenuScene() { super.createMenuScene(); this.mSubMenuScene = new MenuScene(this.mCamera); this.mSubMenuScene.addMenuItem(new SpriteMenuItem(MENU_QUIT_OK, this.mMenuOkTextureRegion, this.getVertexBufferObjectManager())); this.mSubMenuScene.addMenuItem(new SpriteMenuItem(MENU_QUIT_BACK, this.mMenuBackTextureRegion, this.getVertexBufferObjectManager())); this.mSubMenuScene.setMenuAnimator(new SlideMenuAnimator()); this.mSubMenuScene.buildAnimations(); this.mSubMenuScene.setBackgroundEnabled(false); this.mSubMenuScene.setOnMenuItemClickListener(this); } @Override public boolean onMenuItemClicked(final MenuScene pMenuScene, final IMenuItem pMenuItem, final float pMenuItemLocalX, final float pMenuItemLocalY) { switch(pMenuItem.getID()) { case MENU_RESET: this.mMainScene.reset(); this.mMenuScene.back(); return true; case MENU_QUIT: pMenuScene.setChildSceneModal(this.mSubMenuScene); return true; case MENU_QUIT_BACK: this.mSubMenuScene.back(); return true; case MENU_QUIT_OK: this.finish(); return true; default: return false; } } // =========================================================== // Methods // =========================================================== // =========================================================== // Inner and Anonymous Classes // =========================================================== }