1

私はゲームを開発しましたが、これは私が直面している深刻な問題です。コードにスレッドはありませんが、アラートを使用するたびに

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

このアラートの後、空白の白い画面が表示されます。画面を押すと、ゲームキャンバスが再び表示されます。アラートを設定する前に、チェッカーボードのゲームキャンバスが現在の表示として設定されています。この問題は、自動キーパッドロック後にも発生します。

このアラートは私のゲームにとって不可欠です。解決策を提案してください。

4

1 に答える 1

2

このような問題は通常、GameCanvasメソッドshowNotify()のオーバーライドが欠落しているか正しくないことを示しています。

実装は、このCanvasがディスプレイに表示される直前にshowNotify()を呼び出します。Canvasサブクラスは、アニメーションの設定、タイマーの開始など、表示される前にタスクを実行するためにこのメソッドをオーバーライドできます。クラスCanvasでのこのメソッドのデフォルトの実装は空です。

上記のメソッドは、アラートから前の画面に戻るときに呼び出されます。GameCanvasは、何らかの方法で画面の再描画をトリガーする必要があります(たとえば、repaintまたはflushGraphicsメソッドを使用)。そうでない場合、空白で表示されます。

この問題は自動キーパッドロックの後でも発生するという事実によりshowNotify、MIDletで正しく行われていない可能性がさらに高くなります。

于 2012-09-06T18:00:29.723 に答える