我正在用Cocos2d-x C ++制作平台游戏。
我想做的事确实很简单,但是我在互联网上找到的所有内容都不起作用,或者是针对另一种编程语言(如Objective-C)的。
我有1个Spritesheet,包含3个版本:一个是 UHD ,另一个是 HD ,最后一个是 SD 。
我只需要知道如何告诉程序应该使用什么资源即可。
我尝试使用它:
Director::getInstance()->getVisibleSize();
auto winSize = Director::getInstance()->getWinSize(); //gets window size (pretty obvious, isn't it?)
if (&winSize == "2048x1536") { //The device uses UHD graphics
FileUtils::getInstance()->addSearchResolutionsOrder("UHD");
} else if (&winSize == "1024x768") { //The device uses HD graphics
FileUtils::getInstance()->addSearchResolutionsOrder("HD");
} else { //any other type of resolution -> asumes it is SD
FileUtils::getInstance()->addSearchResolutionsOrder("SD");
}
但是它只返回winSize对象的内存地址,因此无法使用它。我只需要查看屏幕分辨率是多少,然后设置所需的图形类型即可。
很抱歉,如果这是一个非常愚蠢的问题,我是C ++的新手,而我对此一无所获。
谢谢
答案 0 :(得分:1)
const Size&getWinSize()const
以点为单位返回OpenGL视图的大小。
大小:https://cocos2d-x.org/reference/native-cpp/V3.0alpha0/d0/d8c/classcocos2d_1_1_size.html
所以我猜是这样的吗?
auto winSize = Director::getInstance()->getWinSize(); //gets window size (pretty obvious, isn't it?)
if (winSize.width == 2048 and winSize.height == 1536 ) {
//The device uses HDR graphics
}