System.out.println()打破了我的if语句

时间:2012-11-19 20:12:38

标签: java game-engine

我制作游戏点,你是画点,连接它们制作盒子。我有它,所以一旦你点击,该线跟随你的鼠标。当您点击另一个点时,它会将其丢弃。在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();

        }
    }
}

感谢所有的帮助,希望下次我能提出一个正确的问题。

1 个答案:

答案 0 :(得分:4)

这是一个经常让人绊倒的问题。您正在从Eclipse或类似的IDE中运行程序,该程序将System.out捕获到文本区域中。捕获和更新文本区域非常慢并完全掩盖了您的性能,使您的实时图形例程无法产生所需的时序敏感行为。因此,要么从命令行运行,要么从Eclipse开始写入文件。