cocos2d-xでHelloWordがコンパイルできない
こんにちは、たけぼーです。
最近cocos2d-xに手を出し始めました。
macのXcodeを使ってコーディング中です。
今までWindowsを使っていましたが、iOSのプログラミングにはmacが必要ということで移行してきた初心者です。
Xcodeの洗礼
初めてcocosのプロジェクトを作成し、さあコンパイルしてみよう!と意気込んでいたその時!
謎のエラーに見舞われたのです・・・
HelloWorldScene.cppの70行目あたりにある
sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
が赤く表示され、EXC_BAD_ACCESSと表示されています。
What's!? なんじゃこれ!
これがmacの洗礼なのか・・・
なんて思いながら、google先生に聞いてみました。
すると、参照している画像が上の処理を行ったときにメモリに存在しないことが原因である、ということがわかりました。
いやいや待ってくれ。一行前に追加したばかりの画像が次の行で消えているってどういうことなんだ!?
困り果てて諦めようとしていたその時、spriteの文字にカーソルを合わせると、NULLと表示されていることに気づきました。
え!?NULLじゃダメでしょ!
コンパイルエラーを治す
これによると、このプロジェクトのbuild Settingsの項目が関係しているらしい!
では、直してみましょう。
プロジェクトのトップに表示されている青マークをクリック
私の場合、プロジェクト名をTestとして作成したため、Testと表示されています。
この中のBuild Settingsをクリックすると、項目がたくさん出てきます。
この中の『All』を選択し、検索欄にmetaと入力することで、Compress PNG Files - Packagingの項目を表示させます。
この中のRemove Text Metadata From PNG Files の項目をNoにしてから再度コンパイルすると、動きました!
これなんのための設定なんだろ、わからん。
まあ、成功したからいいですよね!笑
ではまた。