Java LibGDX:使用AIDE解析json
学习LibGDX。 使用Android IDE(AIDE)。 以下是本教程中有关完全使用皮肤的内容: 在Logcat中看到此错误:Java LibGDX:使用AIDE解析json,java,android,json,libgdx,aide-ide,Java,Android,Json,Libgdx,Aide Ide,学习LibGDX。 使用Android IDE(AIDE)。 以下是本教程中有关完全使用皮肤的内容: 在Logcat中看到此错误: FATAL EXCEPTION: GLThread 11270 04-25 08:37:00.534 11269 11344 E AndroidRuntime Process: com.suchuu.gfstut9pt4, PID: 11269 04-25 08:37:00.534 11269 113
FATAL EXCEPTION: GLThread 11270
04-25 08:37:00.534 11269 11344 E AndroidRuntime Process: com.suchuu.gfstut9pt4, PID: 11269
04-25 08:37:00.534 11269 11344 E AndroidRuntime com.badlogic.gdx.utils.SerializationException: Error reading file: data/uiskin.json
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:96)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:73)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.suchuu.gfstut9pt4.MyGdxGame.create(MyGdxGame.java:20)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:236)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1555)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
04-25 08:37:00.534 11269 11344 E AndroidRuntime Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: data/uiskin.json
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.utils.Json.fromJson(Json.java:662)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:94)
04-25 08:37:00.534 11269 11344 E AndroidRuntime ... 5 more
04-25 08:37:00.534 11269 11344 E AndroidRuntime Caused by: com.badlogic.gdx.utils.SerializationException:
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:430)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:424)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.utils.Json.readValue(Json.java:839)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:418)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.utils.Json.fromJson(Json.java:660)
04-25 08:37:00.534 11269 11344 E AndroidRuntime ... 6 more
04-25 08:37:00.534 11269 11344 E AndroidRuntime Caused by: com.badlogic.gdx.utils.reflect.ReflectionException: Class not found: BitmapFont
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.utils.reflect.ClassReflection.forName(ClassReflection.java:30)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:428)
04-25 08:37:00.534 11269 11344 E AndroidRuntime ... 10 more
04-25 08:37:00.534 11269 11344 E AndroidRuntime Caused by: java.lang.ClassNotFoundException: BitmapFont
04-25 08:37:00.534 11269 11344 E AndroidRuntime at java.lang.Class.classForName(Native Method)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at java.lang.Class.forName(Class.java:453)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at java.lang.Class.forName(Class.java:378)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at com.badlogic.gdx.utils.reflect.ClassReflection.forName(ClassReflection.java:28)
04-25 08:37:00.534 11269 11344 E AndroidRuntime ... 11 more
04-25 08:37:00.534 11269 11344 E AndroidRuntime Caused by: java.lang.ClassNotFoundException: Didn't find class "BitmapFont" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.suchuu.gfstut9pt4-OcDpQootmuYDXjgvFj_dOA==/base.apk"],nativeLibraryDirectories=[/data/app/com.suchuu.gfstut9pt4-OcDpQootmuYDXjgvFj_dOA==/lib/arm, /system/fake-libs, /data/app/com.suchuu.gfstut9pt4-OcDpQootmuYDXjgvFj_dOA==/base.apk!/lib/armeabi-v7a, /system/lib]]
04-25 08:37:00.534 11269 11344 E AndroidRuntime at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
04-25 08:37:00.534 11269 11344 E AndroidRuntime at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
04-25 08:37:00.534 11269 11344 E AndroidRuntime ... 15 more
添加libgdx标记。不过,有没有与我的实际问题相关的建议?我认为您的问题在于这些文件之一:uiskin.atlas、uiskin.json,因为您的代码看起来不错。一个提示:您不需要在
stage.draw
周围调用batch.begin()
和batch.end()
,stage有自己的批处理并自己调用这些方法。Gamefromscratch是一个古老的教程,也许你在寻找一些更新的东西,比如:或者我在下载和尝试使用那些像glassy ui文件这样的免费皮肤时遇到了同样的问题。这些文件直接来自github,所以不确定为什么会发生这种情况,但是感谢这些链接,我会检查它们,uiskin.json的路径正确吗?我试过你的代码,效果很好。我的资产文件夹结构是:[assets]->[skin]->[default]->[default.fnt,uiskin.atlas,uiskin.json,uiskin.png],我加载的皮肤是:skin=newskin(Gdx.files.internal(“skin/default/uiskin.json”)代码>添加libgdx标记。但是,有没有与我的实际问题相关的建议?我认为您的问题在于这些文件之一:uiskin.atlas、uiskin.json,因为您的代码看起来不错。一个提示:您不需要在stage.draw
周围调用batch.begin()
和batch.end()
,stage有自己的批处理并自己调用这些方法。Gamefromscratch是一个古老的教程,也许你在寻找一些更新的东西,比如:或者我在下载和尝试使用那些像glassy ui文件这样的免费皮肤时遇到了同样的问题。这些文件直接来自github,所以不确定为什么会发生这种情况,但是感谢这些链接,我会检查它们,uiskin.json的路径正确吗?我试过你的代码,效果很好。我的资产文件夹结构是:[assets]->[skin]->[default]->[default.fnt,uiskin.atlas,uiskin.json,uiskin.png],我加载的皮肤是:skin=newskin(Gdx.files.internal(“skin/default/uiskin.json”)代码>
public class MyGdxGame implements ApplicationListener
{
private SpriteBatch batch;
private Skin skin;
private Stage stage;
@Override
public void create()
{
batch = new SpriteBatch();
skin = new Skin(Gdx.files.internal("data/uiskin.json"));
stage = new Stage();
final TextButton button = new TextButton("Click me!", skin, "default");
button.setWidth(200f);
button.setHeight(20f);
button.setPosition(Gdx.graphics.getWidth() / 2 - 100f, Gdx.graphics.getHeight() / 2 - 10f);
button.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
button.setText("You clicked the button!");
}
});
stage.addActor(button);
Gdx.input.setInputProcessor(stage);
}
@Override
public void render()
{
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.draw();
}
@Override
public void dispose()
{
batch.dispose();
}
@Override
public void resize(int width, int height) {}
@Override
public void pause() {}
@Override
public void resume() {}
}