j2me中显示警报后的空白屏幕



我开发了一款游戏,但这是我面临的一个严重问题。我的代码中没有任何线程,但每当我使用alert 时

Display.setCurrent(my_alert)// my_alert has a timeout of 3000ms

然后在该警报之后,会出现一个空白的白色屏幕。当按下屏幕时,我的游戏画布会重新出现。在设置警报之前,我的棋盘游戏画布被设置为当前显示。自动键盘锁定后也会出现此问题。

此警报对我的游戏至关重要,请提出解决方案。

类似的问题通常表明GameCanvas方法showNotify()的覆盖丢失或不正确:

该实现在该Canvas在显示器上显示之前立即调用showNotify()。Canvas子类可能会覆盖此方法,以便在显示之前执行任务,例如设置动画、启动计时器等。Canvas类中此方法的默认实现为空。

从Alert返回到上一个屏幕时调用上述方法。GameCanvas应该以某种方式触发重新绘制屏幕(例如使用repaintflushGraphics方法),否则它将显示为空白。

事实上,在自动键盘锁定后也会出现这种问题,这使得showNotify在MIDlet中的操作更可能不正确。

最新更新