我有这个包含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);
}
答案 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();