0

名前が見つからないというランタイム エラーが発生します。このエラーを見てください:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.RuntimeException: Name 'lame' was not found.
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:111)
Caused by: java.lang.RuntimeException: Name 'lame' was not found.
    at aurelienribon.bodyeditor.BodyEditorLoader.attachFixture(BodyEditorLoader.java:79)
    at com.bodapps.shootme.physics.controller.BodyPhysicsSettings.setGoalPostBody(BodyPhysicsSettings.java:32)
    at com.bodapps.shootme.view.GameScreen.show(GameScreen.java:273)
    at com.badlogic.gdx.Game.setScreen(Game.java:59)
    at com.bodapps.shootme.Start.create(Start.java:11)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:125)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:108)

このエラーは、このコードから発生しました。以下のコードのコメントを見てください。

    goalPost1 = wc.getWorld().createBody(def1);
    goalPost1.setActive(true);
    goalPost1.setGravityScale(0);
    goalPostLoader1.attachFixture(goalPost1, "lame", fixtures1, 5); // --> Under the same JSON filenamename and added and updated this name "lame." However, this is where it stops here.

    goalPost2 = wc.getWorld().createBody(def2);
    goalPost2.setActive(true);
    goalPost2.setGravityScale(0);
    goalPostLoader2.attachFixture(goalPost2, "soccer ball", fixtures2, 5); // --> This name, also in the same JSON filename. Even it has a space, it should be worked too.

JSON ファイル名は「ball physicals.json」で、これは私がPhysics Body Editorエンジンから取得した場所です。

ここに画像の説明を入力

JSON ファイルのコードを次に示します。

{
"rigidBodies":
[
    {
        "name":"soccer ball",
        "imagePath":"../images/soccer ball.png",
        "origin":{"x":0,"y":0},"polygons":[],
        "circles":[{"cx":0.5,"cy":0.5,"r":0.4756574332714081}],
        "shapes":[{"type":"CIRCLE","vertices":[{"x":0.5,"y":0.5},{"x":0.5250000357627869,"y":0.02500000037252903}]}]
    },

    {
        "name":"lame",
        "imagePath":null,
        "origin":{"x":0,"y":0},
        "polygons":[[{"x":0.625,"y":0.05000000074505806},{"x":0.625,"y":0.949999988079071},{"x":0.3499999940395355,"y":0.949999988079071},{"x":0.3499999940395355,"y":0.05000000074505806}]],
        "circles":[],
        "shapes":[{"type":"POLYGON","vertices":[{"x":0.3499999940395355,"y":0.05000000074505806},{"x":0.3499999940395355,"y":0.949999988079071},{"x":0.625,"y":0.949999988079071},{"x":0.625,"y":0.05000000074505806}]}]
    }
],

"dynamicObjects":[]
}

JSONファイルで保存するPhysics Body Editorから編集して「 lame 」という名前で登録しました。残念ながら、私が正しいとしても、プログラミング ソフトウェアは私を騙します。できるだけ早く修正してください。

質問を更新しました!(2013/4/11現在)

Desktop スターター プロジェクト フォルダー内のアセットは、Android スターター プロジェクト フォルダーと一致するか、同じディレクトリを持っているのでしょうか? その場合、プロジェクト フォルダー (Android スターター) 内の assets フォルダーに追加された更新ファイルは、デスクトップ スターター プロジェクト フォルダー内で自動的に更新されますか?

4

1 に答える 1

0

Desktop スターター プロジェクト フォルダーでの更新の問題により、画像ファイルと JSON ファイルは、Android のアセットから直接ではなく、自動的に Desktop のアセットにコピーされました。この問題が発生した場合は、手動でコピーする必要があります。それは私ができる唯一の最高のことです。Androidのassetsフォルダから指定のファイルとディレクトリ(フォルダ)を選択し、Desktopのassetsフォルダにコピーします。ディレクトリとファイル名が正しいことを確認してください。

于 2013-04-11T01:38:53.817 に答える