java-me - j2me在 Canvas 之间切换时屏幕闪烁

标签 java-me midp lcdui

我正在使用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/

相关文章:

安卓和J2ME

android - Android、J2ME、PC通用的简单数据存储接口(interface)

java - J2ME读取手机内存和内存卡文件的方法

java-me - 列出j2me的所有记录

java - 在 J2ME 中编码 GIF

string - J2ME 中的文本换行

java - 哪些手机支持哪种 J2ME(Java 微型版)规范?

performance - j2me : what is effect of 'g.clipRect()' on speed?

java-me - j2me 中许多 Displayable 对象的一个​​ itemStateChanged 方法

java - J2me :Displayable. setTicker()自动关闭诺基亚手机