2

我按照以下链接中的说明进行操作,无需 cocosBuilder 即可在 ios 平台上进行多分辨率工作。 http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Multi_resolution_support

当我使用 cocosbuilder ccbi 文件时,ipad 屏幕上显示的图像仍然是 iphone 图像。

cocosbuilder这样发布资源目录 cocosbuilder 发布目录

但似乎 cocos2d-x 没有从正确的目录中为正确的分辨率选择正确的图像。

这是我在代码中的资源设置。我在 ipad 3 上用高清测试它。

#define DESIGN_RESOLUTION_480X320 0
#define DESIGN_RESOLUTION_1024X768 1
#define DESIGN_RESOLUTION_2048X1536 2

/* If you want to switch design resolution, change next line */
#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_2048X1536

typedef struct tagResource {
cocos2d::CCSize size;
char directory100;
}Resource;

static Resource smallResource = { cocos2d::CCSizeMake(480, 320), "ccb/resources-iphone" };
static Resource mediumResource = { cocos2d::CCSizeMake(1024, 768), "ccb/resources-ipad" };
static Resource largeResource = { cocos2d::CCSizeMake(2048, 1536), "ccb/resources-ipadhd" };

#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320)
static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(480, 320);
#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768)
static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(1024, 768);
#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536)
static cocos2d::CCSize designResolutionSize = cocos2d::CCSizeMake(2048, 1536);
#else
#error unknown target design resolution!
#endif

// The font size 24 is designed for small resolution, so we should change it to fit for current design resolution
#define TITLE_FONT_SIZE (cocos2d::CCEGLView::sharedOpenGLView()->getDesignResolutionSize().width / smallResource.size.width * 24)

#endif /* APPMACROS_H */ 
4

4 回答 4

3

我正在使用最新版本的 cocos2d-x 2.1.2 和 cocosbuilder 3.0。经过半天的努力,我找到了解决方案。

原因是 cocosbuilder 在发布资源时,创建了一个非常漂亮的目录结构,可以将不同分辨率的图片放到不同的文件夹中。我假设 cocos2d-x 将使用 cocosbuilder 发布的文件结构选择正确的目录。我错了。我不得不手动设置 cocos2d-x 中的资源目录以匹配 cocosbuilder 发布的目录。在我这样做之后,一切正常。

于 2013-04-10T06:15:44.770 回答
3

以下教程介绍了如何将 CocosBuilder 3.0 多分辨率资源集成到 cocos2d-x 项目中:http: //2sa-studio.blogspot.com/2013/04/setup-cross-platform-project-with.html。这可能会帮助你。

于 2013-05-06T15:56:52.583 回答
0

我认为无论您将图像存储在哪个“文件夹”中,都必须根据通常的模式命名它们以符合 cocos2d 约定。

fish.png
fish-hd.png

也许您的文件夹结构来自 Android 项目?

于 2013-04-08T21:03:39.603 回答
0

错误,cocosbuilder 3.0 alpha 不再支持为 fish.png 附加 -hd。相反,您必须使用 ipadhd 分辨率将资源放在“resources-auto”文件夹中。cocosbuilder 将为每个屏幕分辨率创建一个目录,其中您的资源文件具有适当的分辨率但具有相同的文件名。

我遇到的问题是,如果我将 ipad、iPhone-hd、iPhone-hd 的这些目录作为目标添加到我的 iOS 项目中,我会收到 COPYPNG 错误,因为我必须复制多个具有相同名称的文件。

于 2013-12-16T15:40:17.353 回答