1

わかりましたので、netbeans 6.9.1バージョンであるjavafxに問題があります(少し古いことは知っていますが、学校の最終課題のためにこれを行う必要があります)。そのため、割り当てのために、記憶ゲーム(集中)をコーディングする必要があります。今度は遅延をプログラムして、カードをめくったときに機能が 1.5 秒ほど待機するようにして、めくったカードが見えるようにします。ただし、while ループを作成して 1.5 秒のマークを待つと、プログラムがフリーズするだけで、変数「time02」は更新されません。フリーズするだけなので、タスクマネージャーを介してプログラムを手動でシャットダウンする必要があります。これは、タイムラインと関数の一部を含むコードのスニペットです。奇妙なことに、変数「time01」をうまく更新する時計のタイムラインも含めました。また、遅延のコードをコメントに入れました。

clock = Timeline {
    repeatCount: Timeline.INDEFINITE
    keyFrames: KeyFrame {
        time: 0.1s
        action: function() {
            updateclock();
        }
    }
}
function updateclock() {
    time01 = time01 + 1;
    text2.content = "Tijd: {time01 / 10}";
}


/*
delay = Timeline {
    repeatCount: Timeline.INDEFINITE
    keyFrames: KeyFrame {
        time: 0.1s
        action: function() {
            updatedelay();
        }
    }
}

function updatedelay() {
    time02 = time02 + 0.1;
}
*/

function control() {
    if (counter == 2) {
        /*                                    
        while (time02 < 1.2) {
            delay.play();
        }
        delay.stop();
        time02 = 0;
        */
        ..............................

どんなタイプの助けも大歓迎です!

4

1 に答える 1

0

踏み方の問題です。同じスレッドで計算されるものを待つことはできません。

カードを裏返すコードを挿入してTimeline、JavaFX がユーザーの代わりにスレッドを処理できるようにすることができます。

backflip : Timeline {
   repeatCount: 1
   keyFrames: KeyFrame {
        time: 1.5s
        action: function() {
           // here is code which flips card back
        }
   }
}
于 2013-03-28T12:29:42.023 に答える