如何在我的 Cocos2d-x 3.0 项目中设置 SD、HD、HDR 等目录,以便可以在 Android 和 iOS 上运行?
我在以前的项目中使用 Cocos2d-x 2.x 的设置依赖于 3.0 中已弃用的部分 API。Cocos2d-x 文档不完整。与 3.0 捆绑在一起的 cpp 测试项目也无济于事。
任何信息都有帮助。
如何在我的 Cocos2d-x 3.0 项目中设置 SD、HD、HDR 等目录,以便可以在 Android 和 iOS 上运行?
我在以前的项目中使用 Cocos2d-x 2.x 的设置依赖于 3.0 中已弃用的部分 API。Cocos2d-x 文档不完整。与 3.0 捆绑在一起的 cpp 测试项目也无济于事。
任何信息都有帮助。
在资源文件夹“hdpi”、“mdpi”、“ldpi”、“xhdpi”中创建4个目录,并将相应的图像放在这些目录中。现在有两种方法可以做到这一点:
第一的
if(Device::getDPI()<=120)
FileUtils::sharedFileUtils()->setSearchPaths("ldpi");
else if(Device::getDPI()<=160)
FileUtils::sharedFileUtils()->setSearchPaths("mdpi");
else if(Device::getDPI()<=240)
FileUtils::sharedFileUtils()->setSearchPaths("hdpi");
else if(Device::getDPI()<=320)
FileUtils::sharedFileUtils()->setSearchPaths("xhdpi");
第二种方法
Size winSize = CCDirector::sharedDirector()->getWinSize();
// Portrait
if ( winSize.width <= 240 && winSize.height<=320 )
FileUtils::sharedFileUtils()->setSearchPaths("ldpi");
else if ( winSize.width <= 320 && winSize.height<=480 )
FileUtils::sharedFileUtils()->setSearchPaths("mdpi");
else if( winSize.width <= 480 && winSize.height<=800 )
FileUtils::sharedFileUtils()->setSearchPaths("hdpi");
else
FileUtils::sharedFileUtils()->setSearchPaths("xhdpi");
您从 AppDelegate::applicationDidFinishLaunching() 函数中调用上述代码来告诉 Cocos2d-x 使用正确的资源子目录。
我已经在 cocos2d-x 3.1 上对其进行了测试,它对我有用。我希望它对你有用。
你试过这个吗?
FileUtils::getInstance()->addSearchPath("hd");