[J2ME] – hướng dẫn tạo màn hình load game

Chia sẻ kiến thức lập trình HTML / CSS / JavaScript

Các điều hành viên: Admin, Mod, SMod

[J2ME] – hướng dẫn tạo màn hình load game

Gửi bàigửi bởi GmGmNewGate » 03/07/2013 17:28

tạo Lớp Point.java
Mã: Chọn tất cả
package Zstar;

/**
*
* @author zstar
*/
public class Point {

private int X = 0;
private int Y = 0;

public Point() {
}

public Point(int x, int y) {
this.X = x;
this.Y = y;
}

public int getX() {
return this.X;
}

public int getY() {
return this.Y;
}
}

Lớp LoadingScreen.java
Mã: Chọn tất cả
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(30, 50);
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.g = this.getGraphics();
this.fontNormal = g.getFont();
this.fontBold = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
setFullScreenMode(true);
try {
imageLogo = Image.createImage(logo);
} catch (IOException ex) {
ex.printStackTrace();
}
this.root = new Point(getWidth() / 2 - imageLogo.getWidth() / 2, root.getY());

}

public void start() {
clearScreen();
draw();
draw_next_loading();
}

public void draw() {
g.setColor(0x000000);
g.drawImage(imageLogo, root.getX(), root.getY(), Graphics.TOP | Graphics.LEFT);
g.drawString(text1, getWidth() / 2 - fontNormal.stringWidth(text1) / 2, root.getY() + imageLogo.getHeight(), Graphics.TOP | Graphics.LEFT);
g.setFont(fontBold);
g.drawString(text2, getWidth() / 2 - fontBold.stringWidth(text2) / 2, root.getY() + imageLogo.getHeight() + 40, Graphics.TOP | Graphics.LEFT);
g.setFont(fontNormal);
//draw loading
g.setColor(colorBorder);
g.drawRect(getWidth() / 2 - loadingLength / 2, root.getY() + imageLogo.getHeight() + 30, loadingLength, loadingHeight);
g.setColor(colorLoading);
g.fillRect(getWidth() / 2 - loadingLength / 2, root.getY() + imageLogo.getHeight() + 30, loadingCurrent, loadingHeight);
g.setColor(colorBorder);
this.flushGraphics();
}

private void draw_next_loading() {
clearLoading();
//timer.schedule(task, interval,interval);
for (int i = 0; i < loadingLength / h; i++) {
if (loadingCurrent < loadingLength) {
loadingCurrent += h;
//draw loading
g.setColor(colorBorder);
g.drawRect(getWidth() / 2 - loadingLength / 2, root.getY() + imageLogo.getHeight() + 30, loadingLength, loadingHeight);
g.setColor(colorLoading);
g.fillRect(getWidth() / 2 - loadingLength / 2, root.getY() + imageLogo.getHeight() + 30, loadingCurrent, loadingHeight);
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() / 2 - loadingLength / 2, root.getY() + imageLogo.getHeight() + 30, loadingLength, loadingHeight);
this.flushGraphics();
}

public void clearScreen() {
g.setColor(0xffffff); // white
g.fillRect(0, 0, getWidth(), getHeight());
this.flushGraphics();
}
}

tạo Lớp MainMidlet.java
Mã: Chọn tất cả
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) {
}
}
Yahoo:GmGmNewgate@yahoo.com
F.A Kệ Bố Ok:Chú Hưng
Hình đại diện của thành viên
GmGmNewGate
☀️6/30☀️
☀️6/30☀️
 
Bài viết: 144
Ngày tham gia: 03/07/2013 11:42
Đến từ: Nghệ An

Re: [J2ME] – hướng dẫn tạo màn hình load game

Gửi bàigửi bởi Vipvip » 03/07/2013 17:34

Hiểu gì die lun
Kí làm quái gì!
Hình đại diện của thành viên
Vipvip
☀️13/30☀️
☀️13/30☀️
 
Bài viết: 2440
Ngày tham gia: 08/10/2012 22:51
Đến từ: Lâm Đồng
Số điện thoại: 01234567890

Re: [J2ME] – hướng dẫn tạo màn hình load game

Gửi bàigửi bởi KotexDamMau » 03/07/2013 17:35

Hiểu gì đai lun
Hình đại diện của thành viên
KotexDamMau
☀️4/30☀️
☀️4/30☀️
 
Bài viết: 48
Ngày tham gia: 22/06/2013 22:10


Quay về HTML / CSS / JavaScript

 


  • Chủ đề tương tự
    Trả lời
    Xem
    Bài viết mới nhất

Ai đang trực tuyến?

Đang xem chuyên mục này: Không có thành viên nào đang trực tuyến71 khách