【发布时间】:2019-04-02 11:36:10
【问题描述】:
我正在用 Cocos2d-x C++ 制作一个平台游戏。
我想做的事情真的很简单,但是我在互联网上找到的所有内容要么不起作用,要么适用于另一种编程语言,如 Objective-C。
我有 1 个具有 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++ 新手,我还没有找到任何关于此的内容。
谢谢
【问题讨论】:
-
我可以发誓我昨天看过这个标题
-
"hdr" 与分辨率无关。 hdr 表示更大的动态亮度范围。
-
@bolov 是的,我使用了错误的术语。对于 HDR,我的意思是 UHD。