5.1さらうどん

@giginetの技術ブログ。ゲーム開発、iOS開発、その他いろいろ

cocos2d-xのCCTMXTiledMapで表示が崩れた時の対処法

ストラテジーの開発を開始し、CCTMXTiledMapを使う用事があったので使っておりました。

エミュレータでは問題なかったのですが、実機では表示が崩れてしまって困った。


f:id:gigi-net:20130610030829p:plain
なんか黒い線が入る。


ググって見たところ

Disable antialiasing in CCTMXTiledMap | cocos2d for iPhone

    CCDirector::sharedDirector()->setProjection(kCCDirectorProjection2D);

Projectionをデフォルトでは3Dの物になっているので2Dに変更

また、上記に加えてccConfig.hのCC_FIX_ARTIFACTS_BY_STRECHING_TEXELを1に変更すべし

#ifndef CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1
#endif


cocos2d-xでも同様の設定で解決。めでたしめでたし。
f:id:gigi-net:20130610030832p:plain

ドキュメントにはCC_FIX_ARTIFACTS_BY_STRECHING_TEXELを有効にすると、ブロックノイズのようなモノを妨げることができます、と書いてあるけど、安易に変更してしまって問題ないのだろうか。


タイルマップの作成が非常に簡単で素晴らしいですな。CCScrollViewと組み合わせれば、ストラテジーゲームのひな形が一瞬でできてしまう。すごい。