???????????? ?? ???? ?? ??????? ???????? ? J2ME - PowerPoint PPT Presentation

About This Presentation
Title:

???????????? ?? ???? ?? ??????? ???????? ? J2ME

Description:

Blue Edge Bulgaria academy.devbg.org www.devbg.org J2ME ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 35
Provided by: StoyanH
Learn more at: https://www.devbg.org
Category:
Tags: j2me | j2me

less

Transcript and Presenter's Notes

Title: ???????????? ?? ???? ?? ??????? ???????? ? J2ME


1
???????????? ?? ???? ?? ??????? ???????? ? J2ME
????? ???????
Blue Edge Bulgaria
academy.devbg.org
www.devbg.org
2
???????????? ?? ???? ?? ??????? ???????? ? J2ME
  1. ?? ????? ?????? ?? ???????? ? ?????????
  2. ???? API ?? J2ME CLDC
  3. ???????? ????????? ?? ???? ?? ??????? ???????
  4. ????? ?????????? ???????
  5. ????? ????? ?? ????????, ?????? ??????? ?? ??????

3
?? ????? ?????? ?? ???????? ? ?????????
  • 1. ???????? ???-????? ????????????
  • ??????? ?? ?????? ?? ? ????????????? ????????
  • ???????? ????? ?????
  • ???????? ?? ???????????? ???????????????
  • ???? ?? ???????? ? ?????? ?? ????????? ???

4
?? ????? ?????? ?? ???????? ? ?????????
  • 2. ?????????? ?? ???????? ????? ????????
  • ??????? ??????? (5 -10) ??????????
  • ? ?????? ??????????????
  • ?? ???? ? ???? ????????????
  • ????? ???? ?? ????????
  • ??????????? ?????? ?? ???????? ?? ?????
  • ???? ???? ???????? ??? ?????? ????????
  • ?????? ?? ?? ???? ?????????? ?? ?????? ??????????
    ?? ????? ?????? (MIDP 1.0 / MIDP 2.0)

5
?? ????? ?????? ?? ???????? ? ?????????
  • 3. ???????? ?? ? ?????????????
  • ??????? ?? ????????????????
  • ????????? ?? ???????????? ?? ????????? ??
    ??????????? ?????? ?? .jar ?????
  • ??? ??? ????? ?? ?????????? ???? ???????? ??
    ????????? ????/???
  • ???????? ? ???????????? ?? ???????? ??
    ??????????? ?? ?????? ??????

6
???? API ?? J2ME CLDC
  • ????? javax.microedition.lcdui
  • ?? MIDP 1.0
  • ?????? Canvas
  • ????????? ???????? ????? ???? ?? ??????
  • protected abstract void paint(Graphics g)
  • ?????? ??????????? ?? ??????
  • ??????? ?? ???? ?? KVM

7
???? API ?? J2ME CLDC
  • ?????? Canvas
  • repaint()
  • ????????? ??????
  • ????????? ?????? ???? ?? ?? ?????? paint(Graphics
    g) !!!
  • keyPressed(int keyCode) / keyReleased(int
    keyCode)
  • ??????? ?? ?? KVM
  • keyRepeated(int keyCode)
  • ???? ??? ???????????? ???????? ????? ??? ???????

8
???? API ?? J2ME CLDC
  • ?????? Graphics
  • ?????????? API ?? ????????/???????
  • ???????????? ??????? ?????? ?? ????? Graphics ??
    J2SE
  • drawLine(), drawRect(), drawString(),
    drawImage(), translate() ? ?. ?.
  • ????????? drawXxxx(..., int x, int y, int
    anchor)
  • Graphics.TOP Graphics.LEFT

9
???? API ?? J2ME CLDC
  • ?????? Image
  • ?????????? ?? API ?? ?????? ? ???????????
  • createImage(byte imageData, int imageOffset,
    int imageLength)
  • createImage(String name)
  • name ??? ?? ???????? ???????? ????
  • createImage(int width, int height)
  • ??????? ?????? ???????????, ????? ? ????????????
  • getGraphics()
  • ????? ????????? ?? Graphics, ??? ? ????????
    ????????

10
???? API ?? J2ME CLDC
  • ??????? javax.microedition.lcdui.game
  • ?? MIDP 2.0
  • ?????? GameCanvas
  • ????????? Canvas
  • ???????????? ??????
  • getGraphics()
  • ?????????? ????????? ?? ????? Graphics
  • ????????? ?? ???????? ? ?????????? ?????
  • getKeyStates()
  • ????? int, ? ????? ?? ???????? ??????????? ??
    ?????????

11
???? API ?? J2ME CLDC
  • ?????? Sprite
  • ?? ??????????? ?? ???????? ???????? ?????

12
???? API ?? J2ME CLDC
  • ?????? Sprite
  • Sprite(Image image)
  • Sprite(Image image, int frameWidth, int
    frameHeight)
  • collidesWith(...) ????????? ?? ??????? ? ????
    ???????? ?????
  • setTransform(int) ??????? ?????? ??? ???????
    ????(?????? ?? 90) ??? ?????????
  • ?????? ?? ????????? - nextFrame(), setFrame(),
    getFrame(), ...

13
???? API ?? J2ME CLDC
  • ?????? TiledLayer
  • ???????? ?? ?? ??????????? ?? ???????? ????????
    ??????

14
???? API ?? J2ME CLDC
  • ?????? TiledLayer
  • TiledLayer(int columns, int rows, Image image,
    int tileWidth, int tileHeight)
  • setCell(int col, int row, int tileIndex)
  • ??????? ?????? ? ?????????? ????????
    (????????????? ?? ????)
  • fillCells(int col, int row, int numCols, int
    numRows, int tileIndex)
  • ??????? ?????? ?? ?????? ? ??????? ????????
  • getCell(int col, int row), getColumns()

15
???? API ?? J2ME CLDC
  • ????????? Sprite ? TiledLayer ?? ?????????? ??
    Layer
  • ?????? LayerManager
  • ?????????? ?? ?????????? ?????? (layers)
  • append(Layer l)
  • ?????????? ???? ???????? ???-?????
    ??????(???-?????? ? ? ?????????)
  • getLayerAt(int index)
  • remove(Layer l)
  • insert(Layer l, int index)

16
???? API ?? J2ME CLDC
  • setViewWindow(int x, int y, int width, int
    height)
  • ?????? ???????? ????
  • paint(Graphics g, int x, int y)

17
???? API ?? J2ME CLDC
  • Mobile 3D Graphics API (JSR-184) - ???????? ?? ??
    ????? ???? ????????.
  • ????? ???????????? ??????? ????????? ?????? ??
    ???????? ? ??????????????? ?? ???? (MIDI)
  • Nokia ??????????? API ?? ??-????? ????????????
    (com.nokia.mid.ui)
  • ?????? FullCanvas ???? ?????? ?? ????? ?????

18
???? API ?? J2ME CLDC
  • ??????????? ?? ??????????
  • ???? ????????
  • ??? ????????(lag) 2 s
  • HttpConnection ?????? ?? ???? ?? ????
    ???????????? ?? ???
  • SocketConnection / ServerSocketConnection ??
    MIDP 2.0
  • Bluetooth API (JSR-82 No OBEX)

19
???????? ????????? ?? ???? ?? ??????? ???????
  • ???????? ????????? ?? ???? ?? ??????? ???????

AI
MIDlet
Canvas
Game State
Storage
Communication
20
???????? ????????? ?? ???? ?? ??????? ???????
  • 1. MIDlet
  • ??????? ????????? ?? Canvas, ???????? ??????? ? ?
    ? ??????? ????????????
  • ????? ?? ?? ???????????? ?? ??????????? ?? ??????
    ??? suspend / resume
  • 2. Canvas
  • ????????? ?? ???? ??????? ?????
  • ????? ?? ?? ?????? ???????? ? ?????????????? ??
    ??????????? ?? ??????

21
???????? ????????? ?? ???? ?? ??????? ???????
  • 2. Canvas
  • ????????? ?? ???????????? ?? ?????????? ??????
  • ????????? ?????????????? ????
  • ??? ????? ??????? ???? ??????????? ?? ??????
  • ?????? ????????? ?? Canvas ????? ?????? ? ????
    ????
  • ??? ??????? ?????????
  • Loading, Menu, GameRuns, GameOver ? ??.

22
???????? ????????? ?? ???? ?? ??????? ???????
  • 3. Game State (??????????????)
  • ??????? ??????????? ?? ??????
  • 4. AI (??????????????)
  • ????????? ????????? ????????
  • 5. Storage (??????????????)
  • save game
  • ????????? ?? ?????????
  • high scores ? ??.

23
???????? ????????? ?? ???? ?? ??????? ???????
  • 6. Communication (??????????????)
  • ????? ?? ????????? ???? ??????? ?????
  • ????? ?? ?? ????????? ?? ????? ??? ??????????
  • Upload ?? high scores
  • ????????? ?? ??????? ?? ???????? ? ??????? ?? ?
    Storage

24
????? ?????????? ???????
  • ????????????
  • 1. ????????? ?? ??????? ?????
  • 2. ??????????? ?? ??????? ?????????? ??
    ??????????? (??????/???????)
  • 3. ????????? ?? ?????? paint(Graphics g)
  • 4. ?????? ?? ???????? ????

25
????? ?????????? ???????
  • ??????? ? ??????????????
  • KVM ?? ?? ?????? ??????? ? ??????? ??????????????
    ?? ??????? (heap)
  • ?? ???? ?? ?? ?????? ????? ?? ????? ????? (Image)
  • Runtime.getRuntime().freeMemory()
  • ??????? ?? ??????????? ?? ?????? ? ?????? ? ?????

26
????? ????? ?? ????????, ?????? ??????? ?? ??????
  • ????? ????? ?? ????????, ?????? ??????? ?? ?????
  • I. ???????????? ????? ?? ?????????? ?? ??????? ??
    .jar ?????
  • 1. ???????????
  • ??????????? ? ? 10 20,
  • ????????? ?? ?? ?????????? ?????????? ????? ??
    ?????? ? ??????
  • ???????? ????

27
????? ????? ?? ????????, ?????? ??????? ?? ??????
  • II. ????????? ????? ?? ?????????? ?? ??????? ??
    .jar ?????.
  • 1. ???????????? ?? ??????????? ? ??? ??????????
    ?? ??????? ??
  • 2. ????????? ?? ?????????? ?? ??? ? ???????
    ??????
  • 3. ??????????? ?? ?????? ? ?????

28
????? ????? ?? ????????, ?????? ??????? ?? ??????
  • ?????????? ??????
  • Image backgroundImage
  • Image gameOverImage
  • ...
  • backgroundImage Image.createImage(...)
  • gameOverImage Image.createImage(...)
  • ...
  • g.drawImage( backgroundImage, 0, 0, 0)
  • g.drawImage( gameOverImage, x, y, 0)

29
????? ????? ?? ????????, ?????? ??????? ?? ??????
  • ???????????? ??????
  • private final static int IMAGE_BACKGROUND 0
  • private final static int IMAGE_GAME_OVER 1
  • ...
  • private Image images null
  • for (int i0 iltimages.length i)
  • imagei Image.createImage(...)
  • ...
  • g.drawImage(imagesIMAGE_BACKGROUND, 0, 0, 0)

30
????? ????? ?? ????????, ?????? ??????? ?? ??????
  • III. ???? ? ????? ??????
  • 1. ???????? ?? ??????? (????????, ????? ? ???????
    ???????) ? ????????
  • ????????? ?? ?????????? ? ??????? ?????(lt?????
    ?? ??????gtlt?????gt.res)
  • ???????? ?? ??????????????, ????? ?? ?????
    ????????? ? ?? ?? ??????? ? Storage
  • ?????? ?? ??? Loading Screen

31
????? ????? ?? ????????, ?????? ??????? ?? ??????
  • 2. ?????????? ?? ???? ?? ?????????
  • ????? ???? ????????? ??????? ?? .jar ????? ???
    100 ?????, ??????? ? ????? ?? ?
  • ???????? ??????? ?? ??????????? ??-?????
  • ????????? ?? ?????????? ? ?????????? ???????
  • ????? ?? ????????? ?? ?????? ?? 2 ????????????
    ?? MIDlet, Canvas

32
????? ????? ?? ????????, ?????? ??????? ?? ??????
  • ??????? ????????
  • ??????????? ???-????? ???????????? ???????
  • ????????? ???????????
  • ???? ?? ??????? ???????? ? J2ME / CLDC ?? ?????
    ?????

33
???????????? ?? ???? ?? ??????? ???????? ? J2ME
  • ??????? ?????????
  • http//www.forum.nokia.com/main/
  • http//developer.sonyericsson.com/site/global/prod
    ucts/phones
  • http//www.motocoder.com/motorola/pcsHome.jsp
  • http//www.benqmobile.com/developer
  • http//developer.samsungmobile.com/
  • http//panasonic.co.jp/pmc/products/en/
  • http//www.my-onetouch.com/worldwide/com/
    products/phones/

34
???????????? ?? ???? ?? ??????? ???????? ? J2ME
  • ????????
Write a Comment
User Comments (0)
About PowerShow.com