我按照下面链接中的说明操作,可以在没有cocosbuilder的ios平台上进行多分辨率工作。
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Multi_resolution_support
当我使用cocosbuilder ccbi文件时,ipad屏幕上显示的图像仍然是iphone图像。
cocosbuilder发布了如下资源目录
但cocos2d-x似乎没有从正确的目录中选择正确的图像以获得正确的分辨率。
这是我在代码中的资源设置。我正在ipad 3上用hd进行测试。

#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 */

最佳答案

我正在使用cocos2d-x 2.1.2和cocosbuilder 3.0的最新版本。
我花了半天时间研究这个问题,终于找到了解决办法。
原因是cocosbuilder发布资源时,创建了一个非常好的目录结构,可以将不同分辨率的图像放到不同的文件夹中。我假设cocos2d-x会选择正确的目录,使用cocosbuilder发布的文件结构。我错了。我不得不在cocos2d-x中手动设置资源目录,以匹配cocosbuilder发布的目录。我这样做之后,一切都很好。

关于android - 适用于iOS和Android的Cocos2d-x和CocosBuilder多分辨率,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15888268/

10-10 08:46