LẬP TRÌNH J2ME CHO THIẾT BỊ DI ĐỘNG - PHẦN 5
lượt xem 174
download
Tham khảo tài liệu 'lập trình j2me cho thiết bị di động - phần 5', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: LẬP TRÌNH J2ME CHO THIẾT BỊ DI ĐỘNG - PHẦN 5
- LẬP TRÌNH J2ME CHO THIẾT BỊ DI ĐỘNG PHẦN 5 Giáo viên : Trịnh Thị Vân Anh Hà nội, 8-2007
- Eliminator: Game Menu, EliminatorBasicMenu (1) Basic Main Menu import javax.microedition.lcdui.*; addCommand(exitCommand); public class MainMenuScreen extends List addCommand(selectCommand); implements CommandListener { setCommandListener(this); private Eliminator midlet; } private Command selectCommand = new public void commandAction(Command c, Command("Select", Command.ITEM,1); Displayable d) { private Command exitCommand = new if (c == exitCommand) { Command("Exit", Command.EXIT,1); midlet.mainMenuScreenQuit(); private Alert alert; return; public MainMenuScreen(Eliminator midlet) { } else if (c == selectCommand) { super("Eliminator",Choice.IMPLICIT); processMenu(); return; this.midlet = midlet; } else { append("New Game",null); processMenu(); return; append("Settings",null); } append("High Scores", null); } append("Help",null); append("About",null); 2
- Eliminator: Game Menu, EliminatorBasicMenu (2) private void processMenu() { alert = new try { Alert("Settings","Settings.......",null,null); List down = (List)midlet.display.getCurrent(); alert.setTimeout(Alert.FOREVER); switch (down.getSelectedIndex()) { case 0: scnNewGame(); break; alert.setType(AlertType.INFO); case 1: scnSettings(); break; midlet.mainMenuScreenShow(alert); case 2: scnHighScores(); break; } case 3: scnHelp(); break; case 4: scnAbout(); break;}; private void scnHighScores() { } catch (Exception ex) { alert = new Alert("High Scores" // Proper Error Handling should be done here ,"High Scores.......",null,null); System.out.println("processMenu::"+ex);} } alert.setTimeout(Alert.FOREVER); private void scnNewGame() { alert.setType(AlertType.INFO); midlet.mainMenuScreenShow(null); } midlet.mainMenuScreenShow(alert); private void scnSettings() { } 3
- Eliminator: Game Menu, EliminatorBasicMenu (3) private void scnHelp() { alert = new Alert("Help","Help....................",null,null); alert.setTimeout(Alert.FOREVER); alert.setType(AlertType.INFO); midlet.mainMenuScreenShow(alert); } private void scnAbout() { alert = new Alert("About","Eliminator\nVersion 1.0.0\nby Jason Lam",null,null); alert.setTimeout(Alert.FOREVER); alert.setType(AlertType.INFO); midlet.mainMenuScreenShow(alert); } } 4
- Eliminator: Game Menu, EliminatorBasicMenu (4) Main Midlet Source Code: import javax.microedition.midlet.*; isSplash = false; import javax.microedition.lcdui.*; try { public class Eliminator extends MIDlet { splashLogo =Image.createImage("/splash.png"); protected Display display; new SplashScreen(display, mainMenuScreen, splashLogo,3000); private Image splashLogo; } catch(Exception ex) { private boolean isSplash = true; mainMenuScreenShow(null); MainMenuScreen mainMenuScreen; } public Eliminator() {} } else { public void startApp() { mainMenuScreenShow(null); display = Display.getDisplay(this); } mainMenuScreen = new MainMenuScreen(this); } if(isSplash) { 5
- Eliminator: Game Menu, EliminatorBasicMenu (5) public Display getDisplay() { public void mainMenuScreenShow(Alert alert) return display;} { public void pauseApp() {} if (alert==null) public void destroyApp(boolean unconditional) display.setCurrent(mainMenuScreen); { else System.gc(); display.setCurrent(alert,mainMenuScreen); notifyDestroyed(); } } public void mainMenuScreenQuit() { private Image createImage(String filename) { destroyApp(true); Image image = null; } try { } image = Image.createImage(filename); } catch (Exception e) { }return image; } 6
- Eliminator: Game Menu, EliminatorSubMenu (1) private void scnNewGame() { midlet.mainMenuScreenShow(); } private void scnSettings() { midlet.settingsScreenShow(); } private void scnHighScore() { midlet.highScoreScreenShow(); } private void scnHelp() { midlet.helpScreenShow(); } private void scnAbout() { midlet.aboutScreenShow(); } } 7
- Eliminator: Game Menu, EliminatorSubMenu (2) High Score Screen Source Code: import javax.microedition.lcdui.*; public class HighScoreScreen extends Form implements CommandListener { private Eliminator midlet; private Command backCommand = new Command("Back", Command.BACK,1); private Command resetCommand = new Command("Rest", Command.SCREEN,1); public HighScoreScreen (Eliminator midlet) { super("High Score"); this.midlet = midlet; StringItem stringItem = new StringItem(null,"JL 100\nJL 50\nJL 10"); append(stringItem); addCommand(backCommand); addCommand(resetCommand); setCommandListener(this); } public void commandAction(Command c, Displayable d) { if (c == backCommand) { midlet.mainMenuScreenShow(); return; }if (c == resetCommand) { // not implemented yet System.out.println("Reset High Scores Not Implemented Yet"); }}} 8
- Eliminator: Game Menu, EliminatorSubMenu (3) Help Screen Source Code: import javax.microedition.lcdui.*; public class HelpScreen extends Form implements CommandListener { private Eliminator midlet; private Command backCommand = new Command("Back", Command.BACK, 1); public HelpScreen (Eliminator midlet) { super("Help"); this.midlet = midlet; StringItem stringItem = new StringItem(null,"It is the year 3023, many things have changed over the years " + ………… ); append(stringItem); addCommand(backCommand); setCommandListener(this); } public void commandAction(Command c, Displayable d) { if (c == backCommand) { midlet.mainMenuScreenShow(); return; }}} 9
- Eliminator: Game Menu, EliminatorSubMenu (4) About Screen Source Code: import javax.microedition.lcdui.*; public class AboutScreen extends Form implements CommandListener { private Eliminator midlet; private Command backCommand = new Command("Back", Command.BACK, 1); public AboutScreen (Eliminator midlet) { super("About"); this.midlet = midlet; StringItem stringItem = new StringItem(null,"Eliminator\nVersion 1.0.0\nBy Jason Lam"); append(stringItem); addCommand(backCommand); setCommandListener(this); } public void commandAction(Command c, Displayable d) { if (c == backCommand) { midlet.mainMenuScreenShow(); return; }}} 10
- Eliminator: Terrain (Scrolling Background) private TiledLayer loadTerrain() throws Exception { {6,0,0,0,1,2}, {6,0,0,0,4,5}, {6,0,0,0,7,8}, Image tileImages = {6,0,0,0,0,0}, {9,0,1,2,3,0}, {0,0,4,5,6,0}, Image.createImage("/terrain.png"); {0,0,7,8,9,0}, {0,0,0,0,0,0},{0,0,0,0,0,0}, TiledLayer tiledLayer = new {0,0,0,0,0,0},{3,0,0,0,0,0}, {6,0,0,0,0,0}, TiledLayer(TILE_NUM_COL,TILE_NUM_ {6,0,0,0,1,2},{6,0,0,0,4,5}, {6,0,0,0,7,8}, ROW,tileImages,TILE_WIDTH,TILE_HEI {6,0,0,0,0,0},{9,0,0,0,0,0}, {0,0,0,0,0,0}, GHT); {0,0,0,0,0,0},{0,0,0,0,0,0}, {3,0,0,0,0,1} // Define Terrain Map }; int[][] map = { // Map Terrain Map with actual graphic from terrain.png {0,0,0,0,0,0}, {3,0,0,0,0,0}, {6,0,0,0,0,0}, for (int row=0; row
- Eliminator: Player , ví dụ : EliminatorPlayer Player Sprite public class PlayerSprite extends Sprite { public void startPosition() { private static final int MOVE = 3; setPosition(scnWidth/2,scnHeight/2);} private int x,y; public void moveLeft() { private int scnWidth,scnHeight; getXY(); private int frameWidth, frameHeight; if (x - MOVE > 0) private int frame; move(MOVE * -1,0);} private int lives; public void moveRight() { public PlayerSprite(Image image, int frameWidth, getXY(); int frameHeight, int scnWidth, int scnHeight) if (x + MOVE + frameWidth < scnWidth) throws Exception { move(MOVE,0);} super(image, frameWidth, frameHeight); public void moveUp() { x = frameWidth/2; getXY(); y = frameHeight/2; if (y - MOVE > 0) this.scnWidth = scnWidth; move(0,MOVE * -1);} this.scnHeight = scnHeight; public void moveDown() { this.frameWidth = frameWidth; getXY(); this.frameHeight = frameHeight; if (y + MOVE + frameHeight < scnHeight) this.frame = 1; this.lives = 3;} move(0,MOVE);} 12
CÓ THỂ BẠN MUỐN DOWNLOAD
-
LẬP TRÌNH J2ME CHO THIẾT BỊ DI ĐỘNG - PHẦN 1
26 p | 545 | 263
-
LẬP TRÌNH J2ME CHO THIẾT BỊ DI ĐỘNG - PHẦN 2
34 p | 526 | 226
-
LẬP TRÌNH J2ME CHO THIẾT BỊ DI ĐỘNG - PHẦN 3
17 p | 362 | 206
-
LẬP TRÌNH J2ME CHO THIẾT BỊ DI ĐỘNG - PHẦN 4
30 p | 334 | 187
-
Lập trình cho điện thoại di đông - 1
11 p | 259 | 88
-
Lập trình trên di động với J2ME
0 p | 146 | 63
-
Lập trình cho điện thoại di đông - 4
10 p | 197 | 57
-
J2ME và lập trình cho thiết bị di động
105 p | 128 | 38
-
Tài liệu MIDlet
7 p | 172 | 35
-
Bài giảng Lập trình trên thiết bị di động: Chương 2 (Phần 2) - ThS. Phan Nguyệt Minh
162 p | 156 | 23
-
lập trình di động - Bài 1: Khái quát các lớp J2ME
43 p | 77 | 12
-
Bài giảng Lập trình trên điện thoại di động
142 p | 91 | 9
-
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 1
26 p | 59 | 4
-
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 2
34 p | 49 | 4
-
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 3
17 p | 56 | 3
-
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 4
30 p | 29 | 3
-
Bài giảng Lập trình J2ME cho thiết bị di động - Phần 5
12 p | 48 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn