我开发了一款游戏,但这是我面临的一个严重问题。我的代码中没有任何线程,但是每当我使用警报时
Display.setCurrent(my_alert)// my_alert has a timeout of 3000ms
然后在此警报之后,出现一个空白的白色屏幕。按下屏幕时,我的游戏画布重新出现。在设置警报之前,我的棋盘游戏画布设置为当前显示。自动键盘锁定后也会出现此问题。
此警报对我的游戏至关重要,请提出解决方案。
此类问题通常表明 GameCanvas 方法showNotify()的覆盖丢失或不正确:
该实现在此 Canvas 在显示器上可见之前立即调用 showNotify()。Canvas 子类可能会覆盖该方法以在显示之前执行任务,例如设置动画、启动计时器等。该方法在 Canvas 类中的默认实现是空的。
上述方法在从警报返回到前一屏幕时被调用。GameCanvas 应该以某种方式触发屏幕的重绘(例如使用repaint
或flushGraphics
方法),否则它将显示为空白。
事实上,在自动键盘锁定之后也会出现此问题,这使得更有可能showNotify
在您的 MIDlet 中未正确完成。