0

andengine に tmx ファイルを読み込もうとしています。AndEngine の例から例をコピーし、読み込んでいる新しい tmx ファイルを作成しました。しかし、行 tmxLoader.loadFromAsset("tmx/test.tmx"); で NullPointerException を取得しています。. test.tmx ファイルには、タイルが 1 つだけ含まれています。次のエラーログが表示されます。

> 08-29 15:50:56.171: E/AndEngine(4495):
> TMXTiledMapExample.onCreateScene failed. @(Thread: 'GLThread 13')
> 08-29 15:50:56.171: E/AndEngine(4495): java.lang.NullPointerException
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.extension.tmx.TMXLayer.addTileByGlobalTileID(TMXLayer.java:274)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.extension.tmx.TMXLayer.initializeTMXTilesFromDataString(TMXLayer.java:247)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.extension.tmx.TMXParser.endElement(TMXParser.java:197)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.apache.harmony.xml.ExpatParser.endElement(ExpatParser.java:158)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.apache.harmony.xml.ExpatParser.appendBytes(Native Method) 08-29
> 15:50:56.171: E/AndEngine(4495):  at
> org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:518)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:479)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:318) 08-29
> 15:50:56.171: E/AndEngine(4495):  at
> org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:275) 08-29
> 15:50:56.171: E/AndEngine(4495):  at
> org.andengine.extension.tmx.TMXLoader.load(TMXLoader.java:117) 08-29
> 15:50:56.171: E/AndEngine(4495):  at
> org.andengine.extension.tmx.TMXLoader.loadFromAsset(TMXLoader.java:102)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> com.example.abc.TMXTiledMapExample.onCreateScene(TMXTiledMapExample.java:100)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.ui.activity.SimpleBaseGameActivity.onCreateScene(SimpleBaseGameActivity.java:48)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.ui.activity.BaseGameActivity$3.onCreateResourcesFinished(BaseGameActivity.java:169)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.ui.activity.SimpleBaseGameActivity.onCreateResources(SimpleBaseGameActivity.java:43)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.ui.activity.BaseGameActivity.onCreateGame(BaseGameActivity.java:181)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.ui.activity.BaseGameActivity.onSurfaceCreated(BaseGameActivity.java:110)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> org.andengine.opengl.view.EngineRenderer.onSurfaceCreated(EngineRenderer.java:80)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1348)
> 08-29 15:50:56.171: E/AndEngine(4495):    at
> android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1118)

サンプルで提供されている tmx ファイルをロードしようとしても、同じエラーが発生します。私が間違っているところはありますか?

Tiled Map Editor Vesion 0.8.1 アプリケーションを使用して tmx ファイルを作成しています。

4

1 に答える 1

1

AndEngine の最新バージョンを取得しましたか。それは修正されたようです:

https://github.com/nicolasgramlich/AndEngineTMXTiledMapExtension/pull/9

編集 :申し訳ありませんが、プル リクエストはまだ送信されていません。独自の git andengine リポジトリに適用してみてください。または、単純な修正として、タイル ID を 0 以外の値に変更する必要があります。

于 2012-08-29T11:38:38.907 に答える