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

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.java

Collisions,

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