3

如何在我的 Cocos2d-x 3.0 项目中设置 SD、HD、HDR 等目录,以便可以在 Android 和 iOS 上运行?

我在以前的项目中使用 Cocos2d-x 2.x 的设置依赖于 3.0 中已弃用的部分 API。Cocos2d-x 文档不完整。与 3.0 捆绑在一起的 cpp 测试项目也无济于事。

任何信息都有帮助。

4

2 回答 2

2

在资源文件夹“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 上对其进行了测试,它对我有用。我希望它对你有用。

于 2014-08-25T12:05:36.020 回答
0

你试过这个吗?

FileUtils::getInstance()->addSearchPath("hd"); 
于 2014-04-10T06:05:05.910 回答