Pair of Vintage Old School Fru
logo

Chatbox|Admin nhận làm wap/web, giá cả thương lượng... Thông tin admin tại mỗi bài viết.
Home · Bang hội ·
* Đăng Nhập hoặc Đăng Kí
để sử dụng hết chức năng của diễn đàn.
Hi, Khách!
HomeBang hội » Thủ thuật » Nokia s40 » » Xem bài viết
Xuống dưới »
avatar by Pham_loi Pham_loi
Chức vụ:
01:37:02, 27-05-2016

Tạo màn hình load game

bài này tôi sẽ hướng dẫn các bạn tạo màn hình loading game trong J2ME

Từ Netbeans các bạn tạo mới Project J2ME, chọn cấu hình CLDC 1.0 , MIDP 2.0 , chọn device là DefaultcldcMsaPhone1

ta xây dựng 3 lớp Point.java ,LoadingScreen.Java, và Midlet : MainMidlet.java

https://i1.wp.com/nzoqla.bay.livefilestore.com/y1pDN__w9A2oZzcNeFugWN0OSYMc83YYIy2qi9IzazO6O0e5Kngb80RBxdkyv-7RYRc5h80iXOZDZ23t4BoplTSfSQ_2eO3E1pO/j2me2.png

Lớp Point.java
<?php
package Zstar
;
 
/**
*
* @author zstar
*/
public class Point {
 
private 
int X 0;
private 
int Y 0;
 
public 
Point() {
}
 
public 
Point(int xint y) {
this.x;
this.y;
}
 
public 
int getX() {
return 
this.X;
}
 
public 
int getY() {
return 
this.Y;
}
}
?>

Copy code

Lớp LoadingScreen.java
<?php
package Zstar
;
 
import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.GameCanvas;
 
/**
* @author ZSTAR
*/
public class LoadingScreen extends GameCanvas {
 
private 
Graphics g;
private 
String logo "/Images/logo.png";
private 
String text1 "Game tiếng việt trên điện thoại";
private 
String text2 "Đang tải...";
private 
Image imageLogo;
private 
Point root = new Point(3050);
private 
Font fontNormal;
private 
Font fontBold;
//thanh loading
private int colorBorder 0x000000;
private 
int colorLoading 0xcc3301;
private 
int loadingLength 150;
private 
int loadingHeight 5;
private 
int loadingCurrent 0;
private 
int h 10;
private 
MainMidlet mainMidlet;
 
public 
LoadingScreen(MainMidlet main) {
super(false);
this.mainMidlet main;
this.this.getGraphics();
this.fontNormal g.getFont();
this.fontBold Font.getFont(Font.FACE_SYSTEMFont.STYLE_BOLDFont.SIZE_MEDIUM);
setFullScreenMode(true);
try {
imageLogo Image.createImage(logo);
} catch (
IOException ex) {
ex.printStackTrace();
}
this.root = new Point(getWidth() / imageLogo.getWidth() / 2root.getY());
 
}
 
public 
void start() {
clearScreen();
draw();
draw_next_loading();
}
 
public 
void draw() {
g.setColor(0x000000);
g.drawImage(imageLogoroot.getX(), root.getY(), Graphics.TOP Graphics.LEFT);
g.drawString(text1getWidth() / fontNormal.stringWidth(text1) / 2root.getY() + imageLogo.getHeight(), Graphics.TOP Graphics.LEFT);
g.setFont(fontBold);
g.drawString(text2getWidth() / fontBold.stringWidth(text2) / 2root.getY() + imageLogo.getHeight() + 40Graphics.TOP Graphics.LEFT);
g.setFont(fontNormal);
//draw loading
g.setColor(colorBorder);
g.drawRect(getWidth() / loadingLength 2root.getY() + imageLogo.getHeight() + 30loadingLengthloadingHeight);
g.setColor(colorLoading);
g.fillRect(getWidth() / loadingLength 2root.getY() + imageLogo.getHeight() + 30loadingCurrentloadingHeight);
g.setColor(colorBorder);
this.flushGraphics();
}
 
private 
void draw_next_loading() {
clearLoading();
//timer.schedule(task, interval,interval);
for (int i 0loadingLength hi++) {
if (
loadingCurrent loadingLength) {
loadingCurrent += h;
//draw loading
g.setColor(colorBorder);
g.drawRect(getWidth() / loadingLength 2root.getY() + imageLogo.getHeight() + 30loadingLengthloadingHeight);
g.setColor(colorLoading);
g.fillRect(getWidth() / loadingLength 2root.getY() + imageLogo.getHeight() + 30loadingCurrentloadingHeight);
g.setColor(colorBorder);
this.flushGraphics();
try {
Thread.sleep(100);
} catch (
Exception e) {
}
} else {
loadingCurrent 0;
break;
}
}
 
}
 
private 
void clearLoading() {
g.setColor(0xffffff);
g.fillRect(getWidth() / loadingLength 2root.getY() + imageLogo.getHeight() + 30loadingLengthloadingHeight);
this.flushGraphics();
}
 
public 
void clearScreen() {
g.setColor(0xffffff); // white
g.fillRect(00getWidth(), getHeight());
this.flushGraphics();
}
}
?>

Copy code

Lớp MainMidlet.java
các bạn thêm 1 midlet vào source package và code như sau
<?php
package Zstar
;
 
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.*;
 
/**
* @author ZSTAR
*/
public class MainMidlet extends MIDlet {
private 
LoadingScreen loadingScreen;
 
public 
void startApp() {
loadingScreen=new LoadingScreen(this);
Display.getDisplay(this).setCurrent(loadingScreen);
loadingScreen.start();
}
 
public 
void pauseApp() {
}
 
public 
void destroyApp(boolean unconditional) {
}
}
?>

Copy code


Nhấn F6 để chạy ứng dụng ta được kết quả :

img

Like: 0

Trực Tuyến: Khách: 1
Diễn đàn teen Việt Nam
CopyRight 2014