2012-08-29 24 views
0

我正試圖在andengine中加載一個tmx文件。我從AndEngine示例複製了示例,並創建了一個新的tmx文件,我正在加載。但我得到NullPointerException行tmxLoader.loadFromAsset(「tmx/test.tmx」); 。 test.tmx文件只包含一個tile。它給出以下錯誤日誌:AndEngine TXMLLoader空指針異常

> 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文件提供了相同的錯誤。任何想法,我哪裏錯了?

我使用平鋪貼圖編輯器Vesion 0.8.1應用程序創建tmx文件。

回答

1

您是否獲取了最新版本的AndEngine。 它接縫,它已定:

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

編輯:嗯,對不起,拉入請求尚未提交。你應該嘗試在你自己的git andengine回購中應用它。 或者作爲一個簡單的修復程序,您應該將您的磁貼ID更改爲不同於0的值。

+1

是的,這是一個錯誤修復。我必須使用您提供的鏈接手動修復引擎代碼中的錯誤。謝謝... –