愤怒的小猪游戏源码

时间:2015-12-07 17:08:10
【文件属性】:
文件名称:愤怒的小猪游戏源码
文件大小:2.64MB
文件格式:RAR
更新时间:2015-12-07 17:08:10
愤怒 小猪 游戏 源码 愤怒的小猪游戏源码,基于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(); } }

网友评论

  • 虽然不是我想要的编程语言的代码,但是还是很有参考价值