如何正确设置 Cocos2d-x 图片资源
Posted
技术标签:
【中文标题】如何正确设置 Cocos2d-x 图片资源【英文标题】:How to setup Cocos2d-x image resources properly 【发布时间】:2014-02-28 21:04:01 【问题描述】:我似乎无法正确显示我的视网膜/非视网膜图像。 由于 cocos2d 经常更改语法,我不知道该用什么了。
我已经尝试过教程like this one,但似乎没有任何效果。
我当前的资源设置到资源目录中的sd
& hd
文件夹(两个版本的图像具有相同的名称,我尝试添加后缀),我想为非视网膜拉取适当的图像/retina iPad 在 cocos2d-x 中。
目前 cocos2dx 设置目录的语法是什么?我是否必须在设置目录的同时设置特定的后缀?请帮忙。 Cocos2d-x v2.2
编辑**
我正在测试视网膜和非视网膜 ipad。如果我只包括非视网膜图像,它在非视网膜 iPad 上是完美的,并且视网膜上的一切都像预期的那样很小。现在,当我将视网膜图像添加到项目中时,设备会感到困惑并加载随机尺寸,等等,一张是视网膜,下一张是非视网膜。这是因为两个版本具有相同的文件名,但我将它们放在不同的目录 Resouces/sd
和 Resources/hd
中。如何设置 cocos2dx v2.2.2 项目从适当的目录加载?我尝试了很多教程和 cocos2dx 示例,它们对我不起作用。
【问题讨论】:
您究竟有什么问题?举例说明您的设置(文件名)、您正在测试的设备、您希望看到的内容以及实际发生的情况。 PS:cocos2d-iphone的后缀有:-hd、-widehd、-ipad、-ipadhd。检查***.com/questions/12053485/… 和***.com/questions/17869085/…,最重要的是:cocos2d-x.org/wiki/Mechanism_of_loading_resources 它们也在源代码中。 @LearnCocos2D 更多解释见编辑 【参考方案1】:因此,经过无数次令人沮丧的反复试验,我终于弄明白了!
我做错了什么是将hd
和sd
文件夹作为组而不是文件夹引用导入..
详情见this post
然后我只是这样做了,并且在非/retina 和视网膜 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);
...
希望这可以为某人省去麻烦!
【讨论】:
以上是关于如何正确设置 Cocos2d-x 图片资源的主要内容,如果未能解决你的问题,请参考以下文章