LibGDX中的AsyncTask - 示例

时间:2015-05-26 16:00:32

标签: java asynchronous libgdx

是否有人在LibGDX中使用AsyncTask与AsyncResult和AsyncExecutor? 我想异步运行一些录音和处理,检查结果是否准备就绪。 这是我的代码的一部分:

private FftAnalysis analysis;
private AsyncExecutor executor;
private AsyncResult<Double> asyncResult;
(...)
public GameWorld(int midPointY) {
  executor = new AsyncExecutor(300); // I know how big this value is.
  analysis = new FftAnalysis();
  asyncResult = executor.submit(analysis);
}
public void update(float delta){
if(asyncResult.isDone()){ 
   freq = asyncResult.get();
   asyncResult = executor.submit(analysis);
}

isDone()永远不会是真的,我没有看到FftAnalysis执行过的函数call()......

我做错了什么?

1 个答案:

答案 0 :(得分:1)

为什么不使用libgdx api来做呢?在这里查看Timer类和Task类:http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/utils/Timer.html

基本上,您可以在单独的线程中运行代码,并在完成后获得结果。