在 J2ME 中,一次只能显示一个屏幕或一个画布。屏幕内部可以有多个对象(文本字段、表单等),而画布只能容纳一个游戏画布。
问题是:是否可以在一个画布中拥有多个游戏画布?我试图同时显示两个,一个在顶部,一个在底部。 我想重新绘制底部画布而不重新绘制顶部。
先感谢您!任何形式的帮助将不胜感激!:)
不可以,您一次只能显示一个 Canvas 或 GameCanvas 对象。
但是:如果您询问是否拥有 2 个 Canvas 对象,因为您需要更新屏幕的 2 个彼此独立的部分,您可以使用 2 个 Image 对象来做到这一点。
只需使用 Image.getGraphics(); 获取每个 Image 的 Graphics 对象;然后,您可以在每个图像上绘制。最后在画布上绘制两幅图像(或者只是其中一幅,如果你只想更新屏幕的一部分)。
使用 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();
不,您只使用一个画布,但只重新绘制已更改的位使用