0

キャラクターが死ぬ/レベルをクリアした場合に、「ゲーム オーバー」と「レベル コンプリート」のメッセージを追加したいと考えています。彼が死ぬ/レベルを完了するときに今何が起こるかは、MainThread を終了し、EndScreen アクティビティ/LevelComplete アクティビティを開始することです。

しかし、これらのアクティビティを開始する前に、画面上にメッセージ、できれば画像を表示して、クールなテキストを追加できるようにしたいと思います。たとえば、3 秒間とします。

これには本当にスプラッシュのようなアクティビティや timerTask を開始する必要がありますか?それとももっと簡単な方法で実行できますか?

例:

    if(characterHP <= 0){
        stopUpdating();
        showMessage(3, gameOverBitmap);
        startEndScreenActivity();   
4

2 に答える 2

1

Toast標準の Android通知の外観、テキスト、フォント、位置、レイアウト、および時間 (長いまたは短い) をカスタマイズすることもできます。(カスタム レイアウト、スタイル、またはビューを提供することにより)。

http://developer.android.com/guide/topics/ui/notifiers/toasts.html

よりカスタマイズ可能なものが必要な場合は、アクティビティやダイアログ、またはビューだけをオーバーレイできます。ただし、Toast通知は基本的にこのために設計されています。

于 2012-09-11T00:15:30.143 に答える
0

ハンドラーまたはそのようなものを使用する

    if(characterHP <= 0){
    stopUpdating();
    showMessage(3, gameOverBitmap);
    Handler handler = new Handler();

    handler.postDelayed(new Runnable() {
          startEndScreenActivity();   
          }
    }, 3000);

もう 1 つは、ゲームで経過する時間 (私は通常そうしています) をデルタ時間と共に追跡する場合、独自の方法でいくつかのバリエーションを作成できることです。

    long showtime;
    boolean Ending = false;


    if(characterHP <= 0){
    stopUpdating();
    showMessage(3, gameOverBitmap);
    showtime = sytem.gettimemillisecs();
    Ending = true;

そして、別の場所:

    if (Ending && System.gettimemilisecs > showtime + 3000) {
        startEndScreenActivity();
    }   
于 2012-09-10T21:50:23.970 に答える