【发布时间】:2014-05-22 23:49:35
【问题描述】:
如何在我的 Cocos2d-x 3.0 项目中设置 SD、HD、HDR 等目录,以便可以在 Android 和 iOS 上运行?
我在之前使用 Cocos2d-x 2.x 的项目中的设置依赖于 3.0 中已弃用的部分 API。 Cocos2d-x 文档不完整。与 3.0 捆绑的 cpp 测试项目也无济于事。
任何信息都有帮助。
【问题讨论】:
标签: image cocos2d-x cocos2d-x-3.0
如何在我的 Cocos2d-x 3.0 项目中设置 SD、HD、HDR 等目录,以便可以在 Android 和 iOS 上运行?
我在之前使用 Cocos2d-x 2.x 的项目中的设置依赖于 3.0 中已弃用的部分 API。 Cocos2d-x 文档不完整。与 3.0 捆绑的 cpp 测试项目也无济于事。
任何信息都有帮助。
【问题讨论】:
标签: image cocos2d-x cocos2d-x-3.0
你试过了吗?
FileUtils::getInstance()->addSearchPath("hd");
【讨论】:
在资源文件夹 "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 上对其进行了测试,它对我有用。 我希望它对你有用。
【讨论】: