|
MID ÇÁ·ÎÇÊ | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.microedition.lcdui.Displayable | +--javax.microedition.lcdui.Canvas | +--javax.microedition.lcdui.game.GameCanvas
GameCanvas Ŭ·¡½º´Â °ÔÀÓ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º ±â¹ÝÀ» Á¦°øÇÕ´Ï´Ù. Canvas(¸í·É, ÀÔ·Â À̺¥Æ® µî)·ÎºÎÅÍ »ó¼ÓµÈ ±â´É À̿ܿ¡ ¿ÀÇÁ½ºÅ©¸° ±×·¡ÇÈ ¹öÆÛ ¹× Ű »óÅ Äõ¸® ±â´É °°Àº °ÔÀÓ °ü·Ã ±â´Éµµ Á¦°øÇÕ´Ï´Ù.
°¢ GameCanvas ÀνºÅϽº¿¡ ´ëÇØ Àü¿ë ¹öÆÛ°¡ ¸¸µé¾îÁý´Ï´Ù. °¢ GameCanvas ÀνºÅϽº¿¡ ´ëÇØ °íÀ¯ÇÑ ¹öÆÛ°¡ Á¦°øµÇ¹Ç·Î Èü »ç¿ëÀ» ÃÖ¼ÒÈÇϱâ À§ÇØ ´ÜÀÏ GameCanvas ÀνºÅϽº¸¦ ´Ù½Ã »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. °³¹ßÀÚ´Â GameCanvas ÀνºÅϽº·ÎºÎÅÍ ¾òÀº Graphics °´Ã¼¿¡ ´ëÇÑ È£Ãâ¿¡ ÀÇÇØ¼¸¸ ÀÌ ¹öÆÛÀÇ ³»¿ëÀÌ ¼öÁ¤µÈ´Ù°í °¡Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ MIDletÀ̳ª ½Ã½ºÅÛ ¼öÁØ ¾Ë¸² °°Àº ¿ÜºÎ ¼Ò½º¿¡ ÀÇÇØ¼´Â ¼öÁ¤µÇÁö ¾Ê½À´Ï´Ù. ¹öÆÛ´Â Ãʱ⿡ Èò»ö Çȼ¿·Î ä¿öÁý´Ï´Ù.
¹öÆÛ Å©±â´Â GameCanvasÀÇ ÃÖ´ë Ä¡¼ö·Î ¼³Á¤µË´Ï´Ù.
ÇÏÁö¸¸ Ç÷¯½Ã°¡ ¿äûµÇ¸é Ç÷¯½ÃµÉ ¿µ¿ªÀº GameCanvasÀÇ ÇöÀç
Ä¡¼ö(ƼĿ, ¸í·É µîÀÇ Á¸Àç ¿©ºÎ¿¡ µû¶ó)ÀÇ Á¦ÇÑÀ» ¹Þ½À´Ï´Ù.
GameCanvasÀÇ ÇöÀç Ä¡¼ö´Â
getWidth
¿Í
getHeight
¸¦
È£ÃâÇÏ¿© ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
°ÔÀÓÀº °ÔÀÓ ·çÇÁ¸¦ ½ÇÇàÇϱâ À§ÇØ °íÀ¯ ½º·¹µå¸¦ Á¦°øÇÕ´Ï´Ù.
ÀÏ¹Ý ·çÇÁ´Â ÀÔ·ÂÀ» °Ë»çÇÏ°í °ÔÀÓ ³í¸®¸¦ ±¸ÇöÇÑ ´ÙÀ½ ¾÷µ¥ÀÌÆ®µÈ »ç¿ëÀÚ
ÀÎÅÍÆäÀ̽º¸¦ ·»´õ¸µÇÕ´Ï´Ù. ´ÙÀ½ ÄÚµå´Â ÀÏ¹Ý °ÔÀÓ ·çÇÁÀÇ
±¸Á¶¸¦ ¼³¸íÇÕ´Ï´Ù.
// Get the Graphics object for the off-screen buffer
Graphics g = getGraphics();
while (true) {
// Check user input and update positions if necessary
int keyState = getKeyStates();
if ((keyState & LEFT_PRESSED) != 0) {
sprite.move(-1, 0);
}
else if ((keyState & RIGHT_PRESSED) != 0) {
sprite.move(1, 0);
}
// Clear the background to white
g.setColor(0xFFFFFF);
g.fillRect(0,0,getWidth(), getHeight());
// Draw the Sprite
sprite.paint(g);
// Flush the off-screen buffer
flushGraphics();
}
Field Summary | |
static int |
DOWN_PRESSED
DOWN ۸¦ ³ªÅ¸³»´Â ºñÆ®. |
static int |
FIRE_PRESSED
FIRE ۸¦ ³ªÅ¸³»´Â ºñÆ®. |
static int |
GAME_A_PRESSED
GAME_A ۸¦ ³ªÅ¸³»´Â ºñÆ®(ÀϺΠÀåÄ¡¿¡¼ Áö¿øÇÏÁö ¾ÊÀ» ¼ö ÀÖÀ½). |
static int |
GAME_B_PRESSED
GAME_B ۸¦ ³ªÅ¸³»´Â ºñÆ®(ÀϺΠÀåÄ¡¿¡¼ Áö¿øÇÏÁö ¾ÊÀ» ¼ö ÀÖÀ½). |
static int |
GAME_C_PRESSED
GAME_C ۸¦ ³ªÅ¸³»´Â ºñÆ®(ÀϺΠÀåÄ¡¿¡¼ Áö¿øÇÏÁö ¾ÊÀ» ¼ö ÀÖÀ½). |
static int |
GAME_D_PRESSED
GAME_D ۸¦ ³ªÅ¸³»´Â ºñÆ®(ÀϺΠÀåÄ¡¿¡¼ Áö¿øÇÏÁö ¾ÊÀ» ¼ö ÀÖÀ½). |
static int |
LEFT_PRESSED
LEFT ۸¦ ³ªÅ¸³»´Â ºñÆ®. |
static int |
RIGHT_PRESSED
RIGHT ۸¦ ³ªÅ¸³»´Â ºñÆ®. |
static int |
UP_PRESSED
UP ۸¦ ³ªÅ¸³»´Â ºñÆ®. |
Fields inherited from class javax.microedition.lcdui.Canvas |
DOWN, FIRE, GAME_A, GAME_B, GAME_C, GAME_D, KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4, KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9, KEY_POUND, KEY_STAR, LEFT, RIGHT, UP |
Constructor Summary | |
protected |
GameCanvas(boolean suppressKeyEvents)
GameCanvasÀÇ »õ ÀνºÅϽº¸¦ ¸¸µì´Ï´Ù. |
Method Summary | |
void |
flushGraphics()
¿ÀÇÁ½ºÅ©¸° ¹öÆÛ¸¦ µð½ºÇ÷¹ÀÌ¿¡ Ç÷¯½ÃÇÕ´Ï´Ù. |
void |
flushGraphics(int x,
int y,
int width,
int height)
¿ÀÇÁ½ºÅ©¸° ¹öÆÛÀÇ ÁöÁ¤µÈ ¿µ¿ªÀ» µð½ºÇ÷¹ÀÌ·Î Ç÷¯½ÃÇÕ´Ï´Ù. |
protected Graphics |
getGraphics()
GameCanvas¸¦ ·»´õ¸µÇϱâ À§ÇÑ Graphics °´Ã¼¸¦ ¾ò½À´Ï´Ù. |
int |
getKeyStates()
¹°¸®Àû °ÔÀÓ Å°ÀÇ »óŸ¦ °¡Á®¿É´Ï´Ù. |
void |
paint(Graphics g)
ÀÌ GameCanvas¸¦ ±×¸³´Ï´Ù. |
Methods inherited from class javax.microedition.lcdui.Canvas |
getGameAction, getHeight, getKeyCode, getKeyName, getWidth, hasPointerEvents, hasPointerMotionEvents, hasRepeatEvents, hideNotify, isDoubleBuffered, keyPressed, keyReleased, keyRepeated, pointerDragged, pointerPressed, pointerReleased, repaint, repaint, serviceRepaints, setFullScreenMode, showNotify, sizeChanged |
Methods inherited from class javax.microedition.lcdui.Displayable |
addCommand, getTicker, getTitle, isShown, removeCommand, setCommandListener, setTicker, setTitle |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int UP_PRESSED
0x0002
(1 << Canvas.UP)ÀÔ´Ï´Ù.
public static final int DOWN_PRESSED
0x0040
(1 << Canvas.DOWN)ÀÔ´Ï´Ù.
public static final int LEFT_PRESSED
0x0004
(1 << Canvas.LEFT)ÀÔ´Ï´Ù.
public static final int RIGHT_PRESSED
0x0020
(1 << Canvas.RIGHT)ÀÔ´Ï´Ù.
public static final int FIRE_PRESSED
0x0100
(1 << Canvas.FIRE)ÀÔ´Ï´Ù.
public static final int GAME_A_PRESSED
0x0200
(1 << Canvas.GAME_A)ÀÔ´Ï´Ù.
public static final int GAME_B_PRESSED
0x0400
(1 << Canvas.GAME_B)ÀÔ´Ï´Ù.
public static final int GAME_C_PRESSED
0x0800
(1 << Canvas.GAME_C)ÀÔ´Ï´Ù.
public static final int GAME_D_PRESSED
0x1000
(1 << Canvas.GAME_D)ÀÔ´Ï´Ù.
Constructor Detail |
protected GameCanvas(boolean suppressKeyEvents)
°³¹ßÀÚ°¡ getKeyStates ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿© Ű »óŸ¸ Äõ¸®ÇÏ¸é µÇ´Â °æ¿ì ÀÌ GameCanvas°¡ Ç¥½ÃµÇ´Â µ¿¾È °ÔÀÓ Å°¿¡ ´ëÇØ Ç¥ÁØ Å° À̺¥Æ® ±â¹ýÀ» ¾ïÁ¦ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ÇÊ¿äÇÑ °æ¿ì°¡ ¾Æ´Ï¶ó¸é Ű À̺¥Æ® ¾ïÁ¦´Â keyPressed, keyRepeated ¹× keyReleased ¸Þ¼Òµå¿¡ ´ëÇÑ ºÒÇÊ¿äÇÑ ½Ã½ºÅÛ È£ÃâÀ» Á¦°ÅÇÏ¿© ¼º´ÉÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù.
¿äûÇÏ´Â °æ¿ì GameCanvas°¡ Ç¥½ÃµÇ¸é(showNotify°¡ È£ÃâµÇ¸é) ÁöÁ¤µÈ GameCanvas¿¡ ´ëÇÑ Å° À̺¥Æ® ¾ïÁ¦°¡ ½ÃÀ۵Ǹç, ¼û°ÜÁö¸é(hideNotify°¡ È£ÃâµÇ¸é) ÁßÁöµË´Ï´Ù. ȸé Ç¥½Ã ¹× ¼û±â±â´Â À̺¥Æ® ´ë±â¿À» »ç¿ëÇÏ¿© ÀÏ·ÃȵǹǷΠÀÌ·¯ÇÑ Á¤·ÄÀº ¾ïÁ¦°¡ ÇØ´ç GameCanvas¿ë Ű À̺¥Æ®¿¡ ´ëÇØ¼¸¸ ¿µÇâÀ» ¹ÌÄ¡µµ·Ï ÇÕ´Ï´Ù. µû¶ó¼ ´Ù¸¥ ȸéÀÌ ¾ÆÁ÷ Ç¥½ÃµÇ´Â µ¿¾È Ű À̺¥Æ®°¡ »ý¼ºµÈ °æ¿ì ÇØ´ç ȸéÀÌ ¼û°ÜÁö°í GameCanvas·Î ´ëüµÉ ¶§±îÁö ÀÌ·¯ÇÑ Å° À̺¥Æ®´Â °è¼Ó ´ë±â¿¿¡ ÀÖÀ¸¸ç µð½ºÆÐÄ¡µË´Ï´Ù.
Á¤ÀÇµÈ °ÔÀÓ Å°(UP, DOWN, FIRE µî)¿¡ ´ëÇØ¼¸¸ Ű À̺¥Æ®°¡ ¾ïÁ¦µÇ°í ´Ù¸¥ ¸ðµç Ű¿¡ ´ëÇØ¼´Â Ç×»ó Ű À̺¥Æ®°¡ »ý¼ºµË´Ï´Ù.
suppressKeyEvents
- °ÔÀÓ Å°¿¡ ´ëÇØ ÀÏ¹Ý Å° À̺¥Æ® ±â¹ýÀ» ¾ïÁ¦ÇÏ´Â °æ¿ì true
,
±×·¸Áö ¾ÊÀº °æ¿ì false
Method Detail |
protected Graphics getGraphics()
flushGraphics()°¡ È£ÃâµÉ ¶§±îÁö ·»´õ¸µ ÀÛ¾÷Àº µð½ºÇ÷¹ÀÌ¿¡ ³ªÅ¸³ªÁö ¾Ê½À´Ï´Ù. Ç÷¯½Ã ÀÛ¾÷ÀÇ °á°ú·Î Çȼ¿ÀÌ Áö¿öÁöÁö ¾ÊÀ¸¹Ç·Î ¹öÆÛ Ç÷¯½Ã·Î ÀÎÇØ ¹öÆÛ ³»¿ëÀÌ º¯°æµÇÁö ¾Ê½À´Ï´Ù.
ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÒ ¶§¸¶´Ù »õ Graphics °´Ã¼°¡ ¸¸µé¾îÁ® ¹ÝȯµË´Ï´Ù. µû¶ó¼ °ÔÀÓÀÌ ½ÃÀ۵DZâ Àü¿¡ ÇÊ¿äÇÑ Graphics °´Ã¼¸¦ °¡Á®¿Í¼ °ÔÀÓÀÌ ½ÇÇà ÁßÀÏ ¶§ ´Ù½Ã »ç¿ëÇØ¾ß ÇÕ´Ï´Ù. °¢ GameCanvas ÀνºÅϽº¿¡ ´ëÇØ Á¦°øµÈ ¸ðµç ±×·¡ÇÈ °´Ã¼´Â °°Àº ¿ÀÇÁ½ºÅ©¸° ¹öÆÛ·Î ·»´õ¸µµË´Ï´Ù.
»õ·Î ¸¸µç Graphics °´Ã¼¿¡´Â ´ÙÀ½ Ư¼ºÀÌ ÀÖ½À´Ï´Ù.
Font.getDefaultFont()
¿¡¼ ¹ÝȯµÈ ±Û²Ã°ú °°½À´Ï´Ù.
SOLID
ÀÔ´Ï´Ù.
flushGraphics()
,
flushGraphics(int, int, int, int)
public int getKeyStates()
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
// Get the key state and store it
int keyState = getKeyStates();
if ((keyState & LEFT_KEY) != 0) {
positionX--;
}
else if ((keyState & RIGHT_KEY) != 0) {
positionX++;
}
ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÏ¸é ·¡Ä¡µÈ »óŸ¦ Áö¿ì´Â ºÎÀÛ¿ëÀÌ »ý±é´Ï´Ù. µû¶ó¼ ÀÌÀü È£Ãâ ¹Ù·Î ´ÙÀ½¿¡ ´Ù¸¥ getKeyStates¸¦ È£ÃâÇÏ¸é ½Ã½ºÅÛ¿¡¼ ŰÀÇ ÇöÀç »óŸ¦ °¡Àå Àß ÆÄ¾ÇÇÏ¿© º¸°íÇÏ¸ç ·¡Ä¡µÈ ºñÆ®´Â ù ¹øÂ° È£Ãâ¿¡ ÀÇÇØ Áö¿öÁý´Ï´Ù.
ÀϺΠÀåÄ¡´Â ŰÆÐµå Çϵå¿þ¾î¸¦ Á÷Á¢ Äõ¸®ÇÏÁö ¸øÇÒ ¼ö ÀÖÀ¸¹Ç·Î ´ë½Å Ű ´·¶´Ù ³õ±â À̺¥Æ®¸¦ ¸ð´ÏÅÍÇÏ¿© ÀÌ ¸Þ¼Òµå¸¦ ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù. µû¶ó¼ Ű Á¤º¸ÀÇ Àû½Ã¼ºÀº °¢ ÀåÄ¡ÀÇ ±â´É¿¡ µû¶ó ´Þ¶óÁö¹Ç·Î getKeyStates¿¡¼ º¸°íÇÑ »óÅ´ ¹°¸®Àû ŰÀÇ ½ÇÁ¦ »óŸ¦ Áö¿¬½Ãų ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ÀϺΠÀåÄ¡´Â ¿©·¯ ۸¦ µ¿½Ã¿¡ ´©¸£´Â °ÍÀ» °¨ÁöÇÏÁö ¸øÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
Displayable.isShown()
¿¡¼
º¸°íÇÑ ´ë·Î GameCanvas°¡ ÇöÀç Ç¥½ÃµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
ÀÌ ¸Þ¼Òµå´Â 0À» ¹ÝȯÇÕ´Ï´Ù. GameCanvas´Â Ç¥½ÃµÇÀÚ ¸¶ÀÚ
ÃÖÃÊ·Î ¸ðµç ۰¡ ´·¯ÁöÁö ¾Ê¾ÒÀ½(0)À» Ç¥½ÃÇÕ´Ï´Ù.
GameCanvas°¡ Ç¥½ÃµÇ´Â µ¿¾È ۸¦ ´©¸£¸é GameCanvas¿¡¼ Ű ´©¸§À»
º¸°íÇϱâ À§ÇØ Å°¸¦ ¸ÕÀú ³õÀº ´ÙÀ½ ´·¯¾ß ÇÕ´Ï´Ù.
UP_PRESSED
,
DOWN_PRESSED
,
LEFT_PRESSED
,
RIGHT_PRESSED
,
FIRE_PRESSED
,
GAME_A_PRESSED
,
GAME_B_PRESSED
,
GAME_C_PRESSED
,
GAME_D_PRESSED
public void paint(Graphics g)
paint
in class Canvas
g
- ȸéÀ» ·»´õ¸µÇÒ ¶§ »ç¿ëÇÒ Graphics °´Ã¼.
NullPointerException
- g
°¡ null
ÀÎ °æ¿ìpublic void flushGraphics(int x, int y, int width, int height)
ÁöÁ¤µÈ ¿µ¿ªÀÌ GameCanvasÀÇ ÇöÀç ¹üÀ§¸¦ ÃʰúÇÏÁö ¾Ê´Â °æ¿ì ±³Â÷ ¿µ¿ª¸¸ Ç÷¯½ÃµË´Ï´Ù. ÁöÁ¤µÈ ³Êºñ³ª ³ôÀ̰¡ 1º¸´Ù ÀÛÀº °æ¿ì¿¡´Â Çȼ¿ÀÌ Ç÷¯½ÃµÇÁö ¾Ê½À´Ï´Ù.
GameCanvas°¡ ÇöÀç Ç¥½ÃµÇÁö ¾Ê°Å³ª ½Ã½ºÅÛÀÌ »ç¿ë ÁßÀ̶ó Ç÷¯½Ã ¿äûÀ» Àû¿ëÇÒ ¼ö ¾ø´Â °æ¿ì ÀÌ ¸Þ¼Òµå´Â ¾î¶² ÀÛ¾÷µµ ¼öÇàÇÏÁö ¾Ê°í ¹Ù·Î ¹ÝȯÇÕ´Ï´Ù.
x
- Ç÷¯½ÃµÇ´Â ¿µ¿ªÀÇ ¿ÞÂÊ °¡ÀåÀÚ¸®y
- Ç÷¯½ÃµÇ´Â ¿µ¿ªÀÇ À§ÂÊ °¡ÀåÀÚ¸®width
- Ç÷¯½ÃµÇ´Â ¿µ¿ªÀÇ ³Êºñheight
- Ç÷¯½ÃµÇ´Â ¿µ¿ªÀÇ ³ôÀÌflushGraphics()
public void flushGraphics()
GameCanvas°¡ ÇöÀç Ç¥½ÃµÇÁö ¾Ê°Å³ª ½Ã½ºÅÛÀÌ »ç¿ë ÁßÀ̶ó Ç÷¯½Ã ¿äûÀ» Àû¿ëÇÒ ¼ö ¾ø´Â °æ¿ì ÀÌ ¸Þ¼Òµå´Â ¾î¶² ÀÛ¾÷µµ ¼öÇàÇÏÁö ¾Ê°í ¹Ù·Î ¹ÝȯÇÕ´Ï´Ù.
flushGraphics(int,int,int,int)
|
MID ÇÁ·ÎÇÊ | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |