1. Trang chủ
  2. » Ôn thi đại học

Lập trình J2ME cho thiết bị di động - Phần 2

7 20 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 253,63 KB

Nội dung

spMan = new ManSprite(Image.createImage("/man.png")); spApple = new AppleSprite(Image.createImage("/apple.png")); spCube = new CubeSprite(Image.createImage("/cube.png[r]

(1)

Giáo viên : Tr nh Th Vân Anh

L P TRÌNH J2ME CHO THI T B DI Đ NG

L P TRÌNH J2ME CHO THI T B DI Đ NG

PH N 2

PH N 2

(2)

2

3.Các thành ph n giao di n m c th p c a ng d ng MIDP ệ ứ ủ ứ

3.Các thành ph n giao di n m c th p c a ng d ng MIDP ệ ứ ủ ứ

 Các hàm API c p cao cho ta t o giao di n ng d ng theo chu n, hàm ấ ạ ệ ứ ụ ẩ

API c p th p cho ta th hi n ý tấ ấ ể ệ ưởng c a Canvas Graphics l p ủ ớ

chính c a hàm API c p th p B n làm t t c công vi c b ng tay Canvas ủ ấ ấ ạ ấ ả ệ ằ

m t khung v mà ngộ ẽ ười phát tri n v lên thi t b trình bày x lý s ki n L p ể ẽ ế ị ử ự ệ ớ

Graphics cung c p công c v nh drawRoundRect() drawString() ấ ụ ẽ ư

L p Canvas :cung c p m t khung v t o giao di n tùy bi n ngấ ộ ẽ ạ ệ ế ười dùng Đa s ố

phương th c l p đ x lý s ki n, v nh chu i lên thi t b hi n th ứ ớ ể ử ự ệ ẽ ả ỗ ế ị ể ị

Trong ph n s bao g m m c:ầ ẽ ồ ụ • H th ng t a đệ ố ọ ộ

• T o đ i tạ ố ượng Canvas

• V lên đ i tẽ ố ượng Canvas

• X lý s ki n hành đ ngử ự ệ ộ • X lý s ki n phím nh nử ự ệ ấ

(3)

3

H th ng tr c t a đ , t o m t đ i tệ ố ụ ọ ộ ạ ộ ố ượng Canvas H th ng tr c t a đ , t o m t đ i tệ ố ụ ọ ộ ạ ộ ố ượng Canvas

 H t a đ cho l p Canvas: tâm t a đ m trái c a thi t b Tr x tăng d n v ph i, ệ ọ ộ ọ ộ ể ủ ế ị ị ầ ề ả

tr y tăng d n xu ng dị ầ ố ưới Đ dày bút v m t m nh.ộ ẽ ộ ể ả

 Các phương th c sau s giúp xác đ nh chi u r ng chi u cao c a canvas:ứ ẽ ị ề ộ ề ủ • int getWidth(): xác đ nh chi u r ng c a canvasị ề ộ ủ

• int getHeight (): xác đ nh chi u cao c a canvasị ề ủ

 Đ u tiên t o m t l p th a k t l p Canvasầ ộ ế

class TestCanvas extends Canvas implements CommandListener {

private Command cmdExit;

display = Display.getDisplay(this);

cmdExit = new Command("Exit", Command.EXIT, 1); addCommand(cmdExit);

setCommandListener(this);

protected void paint(Graphics g) {

// Draw onto the canvas

g.setColor(255, 255, 255); // Set background color to white g.fillRect(0, 0, getWidth(), getHeight()); // Fill the entire canvas

} }

TestCanvas canvas = new TestCanvas(this);

(4)

4

S ki n hành đ ngự ệ

S ki n hành đ ngự ệ

 M t Canvas có th x lý Command Chúng ta có th x lý s ki n Command ộ ể ể ự ệ

thành ph n Canvas cung cách nh thành ph n khácầ ầ

 Mã phím

Trường h p x lý hành đ ng c a phím m m, m t Canvas có th truy c p đ n 12 mã ợ ộ ủ ề ộ ể ậ ế phím Nh ng mã đữ ược đ m b o luôn có b t kỳ thi t b MIDP nàoả ả ấ ế ị

KEY_NUM0 KEY_NUM1 KEY_NUM2 KEY_NUM3 KEY_NUM4 KEY_NUM5 KEY_NUM6 KEY_NUM7 KEY_NUM8 KEY_NUM9 KEY_STAR KEY_POUND

Năm phương th c đ x lý mã phím là:ứ ể

void keyPressed(int keyCode); void keyReleased(int keyCode); void keyRepeat(int keyCode); String getKeyName(int keyCode);

 Ví du sau: Xu ly cac phim, viet ma phim – KeyEventsKeyEvents,

(5)

5

Các hành đ ng x lý trò ch i ơ

Các hành đ ng x lý trò ch i ơ

 MIDP thường đượ ục s d ng đ t o trò ch i n n Java Các h ng s sau ể ạ ơ ề ằ ố

được đ nh nghĩa đ x lý s ki n có liên quan đ n trò ch i MIDPị ể ử ự ệ ế ơ

UP

DOWN LEFT RIGHT FIRE

GAME_A GAME_B GAME_C GAME_D

Đ n gi n giá tr đơ ả ị ược ánh x thành phím mũi tên ch hạ ỉ ướng c a ủ

thi t b , nh ng không ph i t t c thi t b di đ ng đ u có nh ng giá tr ế ị ư ả ấ ả ế ị ộ ề ữ ị

N u m t thi t b di đ ng thi u phím mũi tên hành đ ng c a trị ch i s ế ộ ế ị ộ ế ộ ủ ơ ẽ

được ánh x vào nút b m, ví d phím trái đạ ấ ụ ược ánh x vào phím s 2, phím ạ ố

(6)

33

Ví d :

Ví d : Collisions, CollisionCanvas.java Collisions, (3)(3)

public CollisionCanvas(Collisions midlet) { // Gamecanvas constructor super(true);

this.midlet = midlet;

Try {// Nonanimated sprites

spMan = new ManSprite(Image.createImage("/man.png")); spApple = new AppleSprite(Image.createImage("/apple.png")); spCube = new CubeSprite(Image.createImage("/cube.png")); spStar = new StarSprite(Image.createImage("/star.png")); // Animated sprite

spSpiral = new AnimatedSprite(Image.createImage("/spiral.png"), FRAME_WIDTH, FRAME_HEIGHT);

// Change the reference pixel to the middle of sprite

spSpiral.defineReferencePixel(FRAME_WIDTH / 2, FRAME_HEIGHT / 2); // Center the sprite on the canvas

// (center of sprite is now in center of display)

spSpiral.setRefPixelPosition(getWidth() / 2, getHeight() / 2);

// Create and add to layer manager

lmgr = new LayerManager(); lmgr.append(spSpiral);

(7)

34

Ví d :

Ví d : Collisions, Collisions.javaCollisions,

public class Collisions extends MIDlet implements CommandListener {

protected Display display; // Reference to display private CollisionCanvas canvas; // Game canvas private Command cmExit; // Exit command

public Collisions() {

display = Display.getDisplay(this);

if ((canvas = new CollisionCanvas(this)) != null) { // Create game canvas and exit command cmExit = new Command("Exit", Command.EXIT, 1);

canvas.addCommand(cmExit); canvas.setCommandListener(this); }}

public void startApp() {

if (canvas != null) {

display.setCurrent(canvas); canvas.start();

Ngày đăng: 09/03/2021, 05:23

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w