开发工具:
文件大小: 2mb
下载次数: 0
上传时间: 2012-11-16
详细说明: 愤怒的小猪游戏源码,基于Eclipse /** * 主菜单 */ public class MainMenu extends Canvas { //private static final int BG_COLOR = 0x00D1FF; private static final int MENU_ITEM_TOP = 80; private MIDlet midlet; private Settings settings; private Image groundImage; private Image buttonImage, buttonFocusImage; private Image[] itemImages; private int selectedIndex = 0; private AudioPlayer menubgplayer;//mainmenu background music player /** * 构造 * @throws IOException * @throws MediaException */ public MainMenu(MIDlet midlet, Settings settings) throws IOException, MediaException { setFullScreenMode(true); this.midlet = midlet; this.settings = settings; menubgplayer = new AudioPlayer("menu.mid", "audio/midi", 30, true); menubgplayer.play(); groundImage = Image.createImage("/background1.png"); buttonImage = Image.createImage("/button1.png"); buttonFocusImage = Image.createImage("/button2.png"); itemImages = new Image[] { Image.createImage("/newGame.png"), Image.createImage("/settings.png"), Image.createImage("/help.png"), Image.createImage("/exit.png") }; } protected void keyPressed(int keyCode) { int gameAction = getGameAction(keyCode); switch (gameAction) { case UP: moveUp(); break; case DOWN: moveDown(); break; case FIRE: try { onSelection(selectedIndex); } catch (IOException e) { e.printStackTrace(); } catch (MediaException e) { // TODO Auto-generated catch block e.printStackTrace(); } break; } } private void moveDown() { selectedIndex ++; if (selectedIndex >= itemImages.length) { selectedIndex = 0; } repaint(); } private void moveUp() { selectedIndex --; if (selectedIndex < 0) { selectedIndex = itemImages.length - 1; } repaint(); } protected void keyRepeated(int keyCode) { keyPressed(keyCode); } protected void paint(Graphics g) { // drawBackgound(g); drawItems(g); } private void drawBackgound(Graphics g) { //background //g.setColor(BG_COLOR); //g.fillRect(0, 0, getWidth(), getHeight()); //draw background g.drawImage(groundImage, getWidth()/2, getHeight(), Graphics.HCENTER|Graphics.BOTTOM); } private void drawItems(Graphics g) { int x = getWidth() / 2; int y = MENU_ITEM_TOP; for (int i = 0; i < itemImages.length; i ++) { drawItem(g, x, y, i); y += 40; } } private void drawItem(Graphics g, int x, int y, int i) { if (i == selectedIndex) { g.drawImage(buttonFocusImage, x, y, Graphics.HCENTER|Graphics.TOP); } else { g.drawImage(buttonImage, x, y, Graphics.HCENTER|Graphics.TOP); } g.drawImage(itemImages[i], x, y, Graphics.HCENTER|Graphics.TOP); } private void onSelection(int index) throws IOException, MediaException { switch (index) { case 0: newGame(); break; case 1: settings(); break; case 2: help(); break; case 3: exit(); break; } } private void exit() throws MediaException { menubgplayer.stop(); midlet.notifyDestroyed(); } private void help() { try { Help help = new Help(this); Display.getDisplay(midlet).setCurrent(help); } catch (IOException e) { e.printStackTrace(); } } private void settings() { SettingsForm settingsForm = new SettingsForm(this, settings); Display.getDisplay(midlet).setCurrent(settingsForm); } private void newGame() throws IOException, MediaException { menubgplayer.stop(); PigCanvas pigCanvas; try { pigCanvas = new PigCanvas(this); Display.getDisplay(midlet).setCurrent(pigCanvas); } catch (Exception e) { e.printStackTrace(); } } public void back() { Display.getDisplay(midlet).setCurrent(this); menubgplayer.play(); } } ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.