1
尝试为Android设备选择设计分辨率大小时遇到问题。选择Cocos2dx中Android设备的设计分辨率大小
我只想拥有4-5个资源(图片,背景,精灵等),但可以在任何Android设备上运行。我能做什么合适的设计解决方案?例如,320x480,720x1280还有什么?
你能给我一些建议来选择吗?
感谢
尝试为Android设备选择设计分辨率大小时遇到问题。选择Cocos2dx中Android设备的设计分辨率大小
我只想拥有4-5个资源(图片,背景,精灵等),但可以在任何Android设备上运行。我能做什么合适的设计解决方案?例如,320x480,720x1280还有什么?
你能给我一些建议来选择吗?
感谢
In your AppDelegate class:
这项决议是风景模式
bool AppDelegate::applicationDidFinishLaunching()
{
/********************** CCEGLView::sharedOpenGLView()->setDesignResolutionSize() //set design resolution size and mode
********************* CCEGLView::sharedOpenGLView()->getFrameSize() //get screen resolution
*********************CCDirector::sharedDirector()->getWinSize() //get design resolution
********************* CCDirector::sharedDirector()->getVisibleSize() //get design resolution’s visable area size
********************* CCDirector::sharedDirector()->getVisibleOrigin() //get origin of the visable area of design resolution*/
// initialize director
CCDirector* director = CCDirector::sharedDirector();
CCEGLView* EGLView = CCEGLView::sharedOpenGLView();
director->setOpenGLView(EGLView);
CCSize screenSize = EGLView->getFrameSize();
CCSize designSize = CCSizeMake(1024,614);
EGLView->setDesignResolutionSize(designSize.width,designSize.height, kResolutionExactFit);
CCLog("Screen Size:%f %f",screenSize.width,screenSize.height);
if(screenSize.height >= 320 && screenSize.height <= 480)
{
CCSize resourceSize = CCSizeMake(800, 480);
director->setContentScaleFactor(resourceSize.height/screenSize.height);
CCLog("Resolution Scale OF Default =%f",resourceSize.height/screenSize.height);
}
else if(screenSize.height >= 540 && screenSize.height < 720)
{
CCSize resourceSize = CCSizeMake(960, 540);
director->setContentScaleFactor(resourceSize.height/screenSize.height);
CCLog("Resolution Scale OF Karboon=%f",resourceSize.height/screenSize.height);
}
else if (screenSize.height >= 720 && screenSize.height < 800)
{
CCSize resourceSize = CCSizeMake(1280, 720);
director->setContentScaleFactor(resourceSize.height/screenSize.height);
CCLog("Resolution Scale OF NOTE=%f",resourceSize.height/screenSize.height);
}
else if(screenSize.height > 800)
{
CCSize resourceSize = CCSizeMake(1920, 1080);
director->setContentScaleFactor(resourceSize.height/screenSize.height);
CCLog("Resolution Scale OF Nexus=%f",resourceSize.height/screenSize.height);
}
else
{
director->setContentScaleFactor(1);
CCLog("Resolution Scale OF S Advance=%f");
}
我想要设计这样的分辨率分辨率320x480,720x1280的例子,还有什么? – lolyoshi
在上面的代码中,我使用1024x614分辨率的资源。所以,如果你想这个解决方案应该在每个Android设备上都可以使用上面的代码。 –
也许你误解了我的问题。我不需要代码,我只需要我可以使用哪种大小的分辨率来设计分辨率,使精灵,图像等适合所有Android设备的屏幕大小?例如,我要创建320x460,720x1280的图片,背景,还有什么? – lolyoshi