处理 - 启动功能和停止功能

时间:2013-03-01 11:32:53

标签: java processing

我有这个包含2个功能的处理应用程序。 1st称为loadScreen。第二个叫做mainMenu。当应用程序初始化时,它会调用函数“loadScreen();”。我在这个函数里面设置了一个计时器,这样在5秒后它会跳转到“mainMenu”。问题是如何停止我的功能并调用另一个功能?有没有“休息”;或“停止”我可以使用的功能?谢谢!

void loading() {  //Code to load start screen 

if (millis() - time >= wait) {
time = millis();//also update the stored time
image(loadingImage, 0, 0);
}
if (time/1000 == 5) {
time=5000; // Stop here
startMenu();
}
}

void startMenu() {
//Code to load the real game
text("Start", 350, 300);
}

1 个答案:

答案 0 :(得分:1)

您可以使用FutureTask但使用多个线程来执行此操作。说:

ExecutorService exec = Executors.newCachedThreadPool();
    FutureTask<Integer> task = new FutureTask<Integer>(new Callable<Integer>(){

        @Override
        public Integer call() throws Exception {
            image(loadingImage, 0, 0);
            return -1;
        }

    });
    Future<Integer> res = exec.submit(task);
    try {
        res.get(5000, TimeUnit.SECONDS);
    } catch (TimeoutException ex) {
    //waited 5 sec to execute hence coming out
    }
    loadMenu();