我正在使用j2me编写手机游戏。在这个游戏中,我使用了多个 Canvas 对象。 例如,游戏菜单是一个 Canvas 对象,实际的游戏也是一个 Canvas 对象。 我注意到,在某些设备上,当我从一个 Canvas 切换到另一个 Canvas 时,例如从主菜单切换到游戏时,屏幕会短暂“闪烁”。我正在使用自己的双缓冲 Canvas 。
有什么办法可以避免这种情况吗?
最佳答案
我想说,使用多个 Canvas 通常是糟糕的设计。在某些手机上甚至会崩溃。最好的方法实际上是使用一个 Canvas 来跟踪应用程序的状态。然后在绘制方法中你会有
protected void paint(final Graphics g) {
if(menu) {
paintMenu(g);
} else if (game) {
paintGame(g);
}
}
有更好的方法来使用屏幕对象处理应用程序状态,这将使设计更清晰,但我认为您已经明白了:)
/JaanusSiim
关于java-me - j2me在 Canvas 之间切换时屏幕闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66438/