[cocos2d-x]AndroidとiPhoneで取れる画面サイズが違うんだけど。

2014年3月4日

CCDirectorには、画面のサイズを取得する仕組みがあるらしく、試しにログに出してみた。
size … getWinSize();
sizeInPixel … getWinSizeInPixels();
origin … getVisibleOrigin(); <- これはおまけ。
visibleSize… getVisibleSize();
ちなみにアプリケーションは、フルスクリーンではなく、ステータスバーを出している状態です。
iPhone5の場合。

Cocos2d: size:[640.000000],[1136.000000]
Cocos2d: sizeInPixel:[640.000000],[1136.000000]
Cocos2d: origin:[0.000000],[0.000000]
Cocos2d: visibleSize:[640.000000],[1136.000000]

Android側の場合。

D/cocos2d-x debug info(3654): size:[480.000000],[762.000000]
D/cocos2d-x debug info(3654): sizeInPixel:[480.000000],[762.000000]
D/cocos2d-x debug info(3654): origin:[0.000000],[0.000000]
D/cocos2d-x debug info(3654): visibleSize:[480.000000],[762.000000]

う~ん。違いがわからんね。sizeInPixelは、何かpointとpixelの関連付け設定が
どっかにあって依存しているのかしら?
んんん?よく見るとなんか変だ。
iPhoneは、ステータスバーの情報を含んだ形でとれてくるのにAndroidは、ステータスバーのサイズを除いてとれてきている!!
ああ、ちなみにiPhone5は、640 x 1136
この計測で使った古いAndroidは、480 x 800
の解像度のはず。
なんか、OSの種類でステータスバーを考慮した計算をしないといけないみたいだ。めんどくさ。
(最底辺は、面倒なことが嫌いです。)

cocos2d-x

Posted by koheizi