-3

私はゲームドットを作っています。ドットを描いて、それらをつなげてボックスを作ります。私はそれを持っているので、あなたがクリックすると、線はあなたのマウスに続きます。別のドットをクリックすると、そこにドロップされます。ifステートメントにprintlnコードを追加すると、その行はマウスの後に続きません。

私は次のコードを持っています:

public void run() {
    gp.initialize();
    while(isRunning) {
        if(gp.isLineDrag()) {
            previousTimeMil = System.nanoTime();
            update();
            draw();
            currentTimeMil = System.nanoTime();

        }
    }
}

更新:申し訳ありませんが、ここに例があります

これは機能しません、

public void run() {
    gp.initialize();
    while(isRunning) {
        if(gp.isLineDrag()) {
            System.out.println("Hi");
            previousTimeMil = System.nanoTime();
            update();
            draw();
            currentTimeMil = System.nanoTime();

        }
    }
}

これはうまくいくでしょう

public void run() {
    gp.initialize();
    while(isRunning) {
        System.out.println("I work now!");
        if(gp.isLineDrag()) {
            System.out.println("Hi");
            previousTimeMil = System.nanoTime();
            update();
            draw();
            currentTimeMil = System.nanoTime();

        }
    }
}

すべての助けに感謝します、うまくいけば、次回私は適切な質問をすることができます。

4

1 に答える 1

4

これはしばしば人をつまずかせる問題です。System.outEclipseまたはテキスト領域にキャプチャする同様のIDEからプログラムを実行しています。このテキスト領域のキャプチャと更新は非常に遅く、パフォーマンスを完全に低下させ、リアルタイムグラフィックスルーチンが目的のタイミングに敏感な動作を生成できないようにします。したがって、Eclipseから開始する場合は、コマンドラインから実行するか、ファイルに書き込みます。

于 2012-11-19T20:29:24.860 に答える