【问题标题】:Image assets in Cocos2d-x 3.0Cocos2d-x 3.0 中的图片资源
【发布时间】: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


    【解决方案1】:

    你试过了吗?

    FileUtils::getInstance()->addSearchPath("hd"); 
    

    【讨论】:

      【解决方案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 上对其进行了测试,它对我有用。 我希望它对你有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多