1

タイルを使用してゲームのマップを作成しています。Androidでゲームを開発するためにAndEngineフレームワークを使用しています。OnLoadResourceメソッドでは、ロードマップメソッドを使用してtmxファイルをロードしています。ゲームがビルドされると、この行に「残念ながら動作が停止しました」とスローされます。最初は画像が見つからないのでエラーをクリアしましたが、このラインでゲームが停止します。タイルベースのゲームは初めてですので、助けてください。

this.mTMXTiledMap = mTMXLoader.loadFromAsset(this,"tmx/levelmap.tmx"); 

コードスニペットは次のとおりです。

private void loadMap() 
{
this.mRepeatingSpriteBackground = new   RepeatingSpriteBackground(CAMERA_WIDTH,CAMERA_HEIGHT, this.mEngine.getTextureManager(),new   AssetBitmapTextureAtlasSource(this, mapBG), 1.0f);

try 
{
final TMXLoader mTMXLoader = new TMXLoader(this, this.mEngine.getTextureManager(),  TextureOptions.BILINEAR_PREMULTIPLYALPHA, null);

this.mTMXTiledMap = mTMXLoader.loadFromAsset(this,"tmx/levelmap.tmx");
} 
catch (final TMXLoadException tmxle) 
{
Debug.e(tmxle);
}
}

そしてここにLogcatがあります:

01-18 19:37:52.759: E/AndroidRuntime(643): java.lang.ArithmeticException: divide by zero
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.entity.layer.tiled.tmx.TMXTileSet.getTextureRegionFromGlobalTileID(TMXTileSet.java:154)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.entity.layer.tiled.tmx.TMXTiledMap.getTextureRegionFromGlobalTileID(TMXTiledMap.java:193)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.entity.layer.tiled.tmx.TMXLayer.addTileByGlobalTileID(TMXLayer.java:289)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.entity.layer.tiled.tmx.TMXLayer.initializeTMXTilesFromDataString(TMXLayer.java:268)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.entity.layer.tiled.tmx.TMXParser.endElement(TMXParser.java:193)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.apache.harmony.xml.ExpatParser.endElement(ExpatParser.java:156)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.apache.harmony.xml.ExpatParser.appendBytes(Native Method)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:513)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:474)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:321)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:279)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.entity.layer.tiled.tmx.TMXLoader.load(TMXLoader.java:93)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.entity.layer.tiled.tmx.TMXLoader.loadFromAsset(TMXLoader.java:78)
01-18 19:37:52.759: E/AndroidRuntime(643):  at apk.games.robowars.RoboWars.loadMap(RoboWars.java:577)
01-18 19:37:52.759: E/AndroidRuntime(643):  at apk.games.robowars.RoboWars.onLoadResources(RoboWars.java:248)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.ui.activity.BaseGameActivity.doResume(BaseGameActivity.java:168)
01-18 19:37:52.759: E/AndroidRuntime(643):  at org.anddev.andengine.ui.activity.BaseGameActivity.onWindowFocusChanged(BaseGameActivity.java:85)
01-18 19:37:52.759: E/AndroidRuntime(643):  at com.android.internal.policy.impl.PhoneWindow$DecorView.onWindowFocusChanged(PhoneWindow.java:2423)
4

1 に答える 1

0

TMXファイル内のファイルパスに問題があるようです。詳細については、AndEngineフォーラムのこのスレッドとこのスレッドを参照してください

于 2013-01-18T16:04:46.710 に答える