ブログBlog

cocos2d-xでの座標指定(簡易版)

投稿日:2014年08月21日

インプリメンター長岡、第二十七回です。

少し前からブログの表示の仕方を少し変えてみていたのですが、
なんとなく見た目のバランスが良くないように思えてきたので一旦戻してみました。

いま、久しぶりにcocos2d-xを使おうとしているところなのですが、
結構空白期間があるのでいろいろ忘れています。

それで、以前書いたソースコードを見返しているのですが、
何本かのゲームのソースコードがあるので試行錯誤のあとが見えて自分でもなかなか面白いです。

で、本題。
cocos2d-xでスプライトなどの座標指定で、本によると、全体の幅、高さを元に割合で指定しているのを見かけます。
作るゲームの種類にもよりますが、これが案外感覚的にわかりにくい。
大抵のゲームは縦横比が1:1ではないので、余計に直感的でない。

そういう場合は、絶対座標で指定してやります。
たとえば、iPhone5の画面サイズを基準に作るのであれば、

bool AppDelegate::applicationDidFinishLaunching() {

の中に

pEGLView->setDesignResolutionSize(640.0, 1136.0, kResolutionShowAll);

の記述をして、他の座標系をいじる関数はいっさい使わず、
スプライトなどの座標を、ccp(320,568)の様に、絶対座標で書きます。
これで、他の画面サイズの端末でも、いい具合にサイズを調整してくれます。
この方法が一番シンプルだと思います。
(各画面サイズ用にそれぞれ最適化したい場合は使えませんが。)

PAGE TOP