首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由cocosbuilder创建的两个同名文件

由cocosbuilder创建的两个同名文件
EN

Stack Overflow用户
提问于 2013-03-15 01:28:11
回答 2查看 578关注 0票数 0

我想使用cocosbuilder和cocos2d-x来开发我的新旧iPhones游戏。我想为两个分辨率创建一个文件。我创建了一个ccb文件,然后将其发布到retina和normal resolution。一切都很好,但是现在我有两个同名的png文件:

发布-iOS/resources-iphone/star.png

发布-iOS/resources-iphonehd/star.png

这是一个问题。我使用的是Xcode,它不喜欢项目中两个同名的文件。我可以在单独的组中将这些文件添加到项目中,但在最终的应用程序包中只能有一个star.png文件。它是随机选择的。当我在iPhone4s上启动我的应用程序时,我看到的是旧iphone显示屏上的图片。如何使用cocosbuilder实现多分辨率?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-16 05:53:59

您应该将XCode项目中的resources-iphone和resources-iphonehd目录作为文件夹引用而不是组导入。您可以通过将文件夹拖放到您的XCode项目中来完成此操作。当你这样做的时候,你会看到这些目录出现在你的应用程序包中。您可以通过选择应用程序的目标并转到Build Phases>Copy Bundle Resources来检查这一点。

之后,在您的ApplicationDelegate.cpp文件中,您应该在CCFileUtils的搜索路径列表中添加这些文件夹。

代码语言:javascript
复制
std::vector<std::string> resDirOrders;

if (resolution is iphone) 
{
    resDirOrders.push_back("resources-iphone");
} 
else if (resolution is iphone retina) 
{
    resDirOrders.push_back("resources-iphonehd");
    resDirOrders.push_back("resources-iphone");
}

CCFileUtils::sharedFileUtils()->setSearchResolutionsOrder(resDirOrders);

这是根据cocos2d-x devs处理多分辨率的推荐方式(查看this article)。您可以使用CCDirector中的窗口大小来确定当前分辨率。在iphonehd的例子中,我包括了非视网膜文件夹以及备用文件夹。

票数 0
EN

Stack Overflow用户

发布于 2013-03-15 01:39:10

Xcode和iOS应用程序捆绑包不是在文件夹中组织的,而是扁平的捆绑包。您需要重命名您的文件才能使其正常工作。我建议这样做:

代码语言:javascript
复制
// iOS Standard
Published-iOS/resources-iphonehd/star@2x.png

或者这个

代码语言:javascript
复制
// cocos-2d Standard
Published-iOS/resources-iphonehd/star-hd.png
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15416144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档