如何正确设置Cocos2d-x图像资源

3
我似乎无法正确地显示我的视网膜/非视网膜图像。 由于cocos2d经常更改语法,我不确定该使用什么了。
我已经尝试了像这样的教程,但似乎没有起作用。
我当前的资源设置为Resources目录中的sdhd文件夹(图像的两个版本具有相同的名称,我尝试添加后缀),我想从cocos2d-x中获取适当的非视网膜/视网膜iPad图像。
当前的cocos2dx语法是设置目录的吗?我必须设置特定的后缀来设置目录吗?请帮忙。 Cocos2d-x v2.2
编辑**
我正在测试视网膜和非视网膜iPad。如果我只包含非视网膜图像,在非视网膜iPad上它就很完美,而在视网膜上则一切都很小。现在当我向项目添加视网膜图像时,设备会混淆并加载随机大小的图像等等,其中一个图像是视网膜,下一个是非视网膜。这是因为两个版本具有相同的文件名,但我将它们放在不同的目录Resouces/sdResources/hd中。如何设置cocos2dx v2.2.2项目以从适当的目录加载?我尝试了许多教程和cocos2dx示例,但它们对我没有起作用。

你到底遇到了什么问题?请举一个你的设置示例(文件名),测试设备,你期望看到的结果以及实际发生的情况。PS:cocos2d-iphone的后缀有:-hd,-widehd,-ipad,-ipadhd。请查看http://stackoverflow.com/questions/12053485/what-exactly-is-the-available-file-suffixes-for-cocos2d-used-for-multi-resoluti和http://stackoverflow.com/questions/17869085/cocos2d-2-1-and-wide-suffix,最重要的是:http://www.cocos2d-x.org/wiki/Mechanism_of_loading_resources。它们也在源代码中。 - CodeSmile
@LearnCocos2D 请参考编辑部分以获取进一步的解释。 - GameDevGuru
1个回答

7

经过很多令人沮丧的试错,我终于搞定了!
我之前做错了一件事,将hdsd文件夹作为组来导入,而不是文件夹参考。
详见这篇文章

然后,我只需要这样做即可,在非视网膜/视网膜iPad上完美运行:

AppDelegate.ccp

bool AppDelegate::applicationDidFinishLaunching() {
    CCDirector* pDirector = CCDirector::sharedDirector();
    CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();
    pDirector->setOpenGLView(pEGLView);

    vector<string> searchPath;
    CCSize frameSize = pEGLView->getFrameSize();

   if (frameSize.height > 1024)
       searchPath.push_back("hd");
   else
       searchPath.push_back("sd");
   CCFileUtils::sharedFileUtils()->setSearchPaths(searchPath);

   ...
}

希望这能帮助到某些人,避免麻烦!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接