http://www.leestorm.com/post/115.html

——————————————————————————————————————————————————————————‘

大部分平台都会有主线程与UI线程同步的问题,Libgdx与androidUI线程进行交互使用Android的Message机制即可,比如弹出对话框,通知等。

但 Libgdx的大部分逻辑都依赖渲染线程,比如资源加载,绘制,舞台创建等。当一些情况下在其它线程要进行渲染线程才能完成的工作时,直接在其它线程进行 操作,会抛出java.lang.IllegalArgumentException: Error compiling shader错误。比如你的安卓Libgdx游戏要接入支付宝SDK,支付宝SDK支付回调是单独的线程,当你要实现类似“支付完成切换Screen”这 种操作时,就需要用到Gdx.app.postRunnable,如:

                Gdx.app.postRunnable(new Runnable()

                {

                       @Override

                       public void run()

                       {

                              GameMain.instance.setCurScreen(new ModSeletScreen());

                              dispose();

                       }

                });

Runnable里面的语句将会在渲染线程中,并在下一次render前执行。

相关文章:

  • 2022-12-23
  • 2021-12-12
  • 2022-12-23
  • 2022-12-23
  • 2021-03-26
  • 2021-10-17
  • 2021-10-15
  • 2021-07-25
猜你喜欢
  • 2021-07-10
  • 2021-12-25
  • 2022-03-01
  • 2022-12-23
  • 2021-04-06
相关资源
相似解决方案