cocos2d-x

cocos2d-xモバイルデバイスのマルチ解像度対応を実現するための setDesignResolutionSize の注意点

More than 3 years have passed since last update.


モバイル環境の罠


AppDelegae.cpp


if(!glview) {
glview = GLViewImpl::create("My Game");

//モバイルだとココに書いても通らないので設定されない
//glview->setDesignResolutionSize(2048,1536, ResolutionPolicy::SHOW_ALL);

director->setOpenGLView(glview);
}

//Set Design Resolution
glview->setDesignResolutionSize(2048,1536, ResolutionPolicy::SHOW_ALL);


iOSアプリで何故かDesignResolution効いてないなと困っていたのですが・・・モバイル環境だとif文の中を通らないようなので、setDesignResolutionSizeする場所に注意です。


DesignResolution使い方


Scene.cpp

    auto size = Director::getInstance()->getOpenGLView()->getDesignResolutionSize();


DesignResolutionに設定した解像度をシーンの中で取得できます。


ご参考

setDesignResolutionSize() is being ignored?