libgdx和TWL:Android应用程序强制在任何TWL菜单上关闭,在桌面上正常工作

时间:2012-03-03 21:31:53

标签: android libgdx

我在使用Libgdx编写的应用程序中使用TWL(http://twl.l33tlabs.org/)实现菜单。如果我不启动任何菜单,应用程序运行正常,但一旦我进入菜单屏幕,它会立即强制关闭。菜单屏幕在桌面版上运行良好。

在哪个构建路径中应该包含TWL-android.jar(现在它在main,android和两者中的行为相同)?程序如何知道使用此.jar中的库而不是默认的gdx-twl.jar?我是否必须在代码中手动实现某些内容,以便根据平台使用其中一个?

似乎没有任何人在Android上使用TWL的任何文档或示例代码,只提到它可以完成。

运行附加到手机的调试器会出现以下logcat错误:

Could not find class 'com.badlogic.gdt.twl.Layout' referenced from method com.Nanners.OptionsScreen.<init>

2 个答案:

答案 0 :(得分:0)

我认为应该将TWL-android.jar添加到android项目的构建路径中。 .jar的位置无关紧要。

答案 1 :(得分:0)

当你添加TWL-android.jar时。由于这是特定于Android的,因此您无法在核心项目中使用它,因此您要导入的类是来自gdx-twl的类。为了使解释更简单,我将在不同的方案中划分它。

  1. 您将TWL-android添加到Android buildpath中。但是你在核心项目中使用Gdx-twl。哪个没有添加。因此得到一个:

    Could not find class 'com.badlogic.gdx.twl.Layout'
    
  2. 您将TWL-android和Gdx-twl都添加到构建路径中。因此得到重复的类和:

    Conversion to Dalvik format failed with error 1
    
  3. <强>解决方案

    如果您使用TWL-android类,则只能在Android项目中执行:

    如果你使用Gdx-twl:

    • 不要这样做。

    实际上,最好的解决方案是摆脱所有twl的东西并使用Scene2d.Ui代替。它的跨平台,更容易使用。