49hack

見習いエンジニアが魔法使いになるまで

画像サイズ対応/解像度対応でつまづいた

CocosBuilderでマルチレゾリューション対応が簡単にできるということだったので、参考書のとおりにレイアウトを構成し、画像を書き出してcocos2d-xプロジェクトのResourcesへ追加。 するとぜんぜんうまくいかなくて苦戦したのでメモしておきます。

CocosBuilderで次のような画像レイアウトのものを作成しました。

f:id:paranishian:20130911153123p:plain

リソースの追加方法がポイント

画像の実体を追加する場合

いつもどおりに画像ファイルを追加すると

f:id:paranishian:20130911153028p:plain

f:id:paranishian:20130911153053p:plain

アプリケーションを起動するたびに違う画像が表示されるという謎の減少に遭遇。。

f:id:paranishian:20130911153127p:plain

f:id:paranishian:20130911153131p:plain

これは、CocosBuilderでは異なるサイズの画像を同じファイル名で生成しているので、端末はどの画像ファイルを読み取ればいいかわからずこのような事象が起こっている様子。つまりぜんぜんマルチレゾリューション対応できてません。

フォルダの参照を追加する場合

マルチレゾリューション対応するためにはリソースに実体ではなく参照を追加する必要があります。

f:id:paranishian:20130911153133p:plain

f:id:paranishian:20130911153135p:plain

これで、画面サイズに応じていい感じに画像が表示されるようになりました。

f:id:paranishian:20130911153138p:plain

初歩的ですがドツボにはまってる人の助けになれば幸いです。

参考

ちなみに、Cocos2d-xは以下の参考書で勉強しています。

cocos2d-xによるiPhone/Androidアプリプログラミングガイド

cocos2d-xによるiPhone/Androidアプリプログラミングガイド