文字列入力からtmxマップを作成する際に問題が発生しました。
bool LevelManager :: initLevel(int currentLevel)
{{
constchar*マップ;
試す {
map = LevelManager :: getLevel(currentLevel);
} catch(int){
1を投げます。
}
if(map!= NULL){
CCLog( "%s"、map);
tileMap = CCTMXTiledMap :: create(map);
tileMap-> setAnchorPoint(ccp(0,0));
tileMap-> setPosition(ccp(15,20));
this-> addChild(tileMap、5);
backgoundLayer = tileMap-> layerNamed( "Background");
} そうしないと {
1を投げます。
}
trueを返します。
}
それが私のコードです。非常に不安定です。ほとんどの場合、クラッシュしますが、クラッシュしない場合もあります。文字列マップからマップを読み込んでいます。Wichはconst*charです。私のマップの名前はLevel1.tmxで、次のようにマップをロードすると、tileMap = CCTMXTiledMap :: create( "Level1.tmx"); 常に機能し、クラッシュすることはありません。そして、ロード前の行にログインしているので、mapの値がLevel1.tmxであることを知っています。
クラッシュすると、ログは次のように出力します:(lldb)および行tileMap-> setAnchorPoint(ccp(0,0)); 「スレッド1:EXC_BAD_ACCESS(code = 2、adress = 0x0)」と表示されます
なぜこれが起こるのか、そしてそれを修正する方法を誰かが知っていますか?
どうもありがとう。
追伸:私はxcode、最新のcocos2d-xリリース、iPhoneシミュレーターを使用しています
編集:
ブレークポイントを使用して、タイルマップのロード中に問題が発生した場所を確認しました。
行でtileMap=CCTMXTiledMap :: create(map); 私の変数マップはまだ問題ありません
しかし、オンラインでtileMap-> setAnchorPoint(ccp(0,0)); 突然破損します(ほとんどの場合)