2013-10-11 1 views
1

J2ME에서는 한 번에 화면이나 캔버스 만 표시 할 수 있습니다. 캔버스에는 gamecanvas 만 저장할 수있는 반면 화면에는 그 안에 여러 객체 (텍스트 필드, 양식 등)가있을 수 있습니다.J2ME 게임 캔버스

질문 : 하나의 캔버스에 여러 개의 게임 캔버스를 가질 수 있습니까? 동시에 두 개를 표시하려고합니다. 한 개는 상단에, 다른 하나는 하단에 표시하려고합니다. 위쪽을 다시 칠하지 않고 아래쪽 캔버스를 다시 페인트하고 싶습니다.

미리 감사드립니다. 어떤 형태의 도움을 주시면 감사하겠습니다! :)

+0

, 그래, 당신은이 작업을 수행 할 수 있습니다. 이 짧은 튜토리얼에서는 J2ME에서 화면 전환을 수행하는 방법을 보여줍니다 (이 시간 동안 두 개의 캔버스가 동시에 동시에 나타납니다). 동일한 기술을 사용하여 두 캔버스를 영구히 함께 표시 할 수 있어야합니다. http://www.jappit.com/blog/2008/06/23/how-to-add-sliding-transitions-between-canvas-in-j2me/ –

답변

2

가 아니, 당신은 한 번에 하나의 캔버스 또는 GameCanvas를 개체를 표시 할 수 있습니다 사용하여 변경 만 비트를 다시 칠.

하지만 두 캔버스 개체가 있어야하는 경우 화면의 두 부분을 서로 독립적으로 업데이트해야하므로 두 개의 이미지 개체를 사용하여 캔버스 개체를 구성 할 수 있습니다.

각 이미지의 Graphics 객체를 Image.getGraphics(); 그러면 각 이미지를 그릴 수 있습니다. 마지막으로 두 이미지를 모두 캔버스에 그립니다 (또는 화면의 일부만 업데이트하려는 경우에는 그 중 하나만).

예 사용 GameCanvas를 : 나는 생각

Image topImage = Image.createImage(width, height); 
Image bottomImage = Image.createImage(width, height); 
Graphics topG = topImage.getGraphics(); 
Graphics bottomG = bottomImage.getGraphics(); 
Graphics g = getGraphics(); // Get graphics of the GameCanvas 

drawStuffOn-topG(); 
drawStuffOn-bottomG(); 

g.drawImage(topImage, 0, 0, g.TOP|g.LEFT); 
g.drawImage(bottomImage, 0, halfScreenHeight, g.TOP|g.LEFT); 

flushGraphics();