码海拾遗

但行好事,莫问前程

导航

cocos2d-x 3.10 屏幕适配问题

cocos2d-x 的屏幕适配问题困扰了我很久,差不多有一个星期吧。通过亲身实践才解决了问题,分享一下解决办法,供大家借鉴学习。

其实解决办法很简单,把下面代码注释掉就好了

 1  //   if (frameSize.height > mediumResolutionSize.height)
 2  //   {        
 3  //       director->setContentScaleFactor(MIN(largeResolutionSize.height/designResolutionSize.height, largeResolutionSize.width/designResolutionSize.width));
 4  //   }
 5  //   // if the frame's height is larger than the height of small size.
 6  //   else if (frameSize.height > smallResolutionSize.height)
 7  //   {        
 8  //       director->setContentScaleFactor(MIN(mediumResolutionSize.height/designResolutionSize.height, mediumResolutionSize.width/designResolutionSize.width));
 9     //}
10  //   // if the frame's height is smaller than the height of medium size.
11  //   else
12  //   {        
13  //       director->setContentScaleFactor(MIN(smallResolutionSize.height/designResolutionSize.height, smallResolutionSize.width/designResolutionSize.width));
14     //}

是的,这是cocos2d-x 给我们生成的代码,很多资料都说使用

glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER);

然而,当没有注释第一部分的代码时,用了setDesignResolutionSize()也不能完成屏幕适配,只是比不使用是更大了而已。

有的资料还说要将上面第一部分和第二部分代码结合使用,但是我用了没效果,反倒是注释了就可以了。

反正,屏幕适配,大概就这两部分代码,也就三种可能性(使用第一部分代码,使用第二部分代码,两部分代码一起使用,别问我为什么不提两部分代码都不使用这种情况),我也不是说我的办法就是对的,其他人的方法就是错的,developers试试这三种情况咯,应该总有一款适合你的。

本人接触cocos2d-x 时间不长,不足之处,请各位大神指出

posted on 2016-02-27 23:30  widrin  阅读(1355)  评论(0编辑  收藏  举报