gpt4 book ai didi

c++ - Cocos2dx-3.0使用setSearchPaths适配屏幕大小不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:09 25 4
gpt4 key购买 nike

问题是在我使用 setSearchPaths() 为不同的屏幕尺寸设置不同的图像路径之后,看起来项目从图像路径随机获取图像。

例如:如果屏幕高度为1136,搜索路径为“iphoneBig”,项目应该使用路径“iphoneBig”的图片,但有时项目使用路径“iphoneMid”的图片。

我把我的代码片段放在这里:

typedef struct tagResource

{

cocos2d::Size size;

char directory[100];

}Resource;

static Resource smallResource = { cocos2d::Size::Size(480, 320), "iphoneSmall" };

static Resource iPhone4Resource = { cocos2d::Size::Size(960, 640), "iphoneMid" };

static Resource iPhone5Resource = { cocos2d::Size::Size(1136, 640), "iphoneBig" };

cocos2d::Size frameSize = pEGLView->getVisibleSize();

pEGLView->setDesignResolutionSize(frameSize.width, frameSize.height, ResolutionPolicy::NO_BORDER);



if (frameSize.height > 960)

{

std::string str(iPhone5Resource.directory);

std::vector<std::string> vtStr;

vtStr.push_back(str);

cocos2d::FileUtils::getInstance()->setSearchPaths(vtStr);

}

else if (frameSize.height > smallResource.size.height)

{

std::string str(iPhone4Resource.directory);

std::vector<std::string> vtStr;

vtStr.push_back(str);

cocos2d::FileUtils::getInstance()->setSearchPaths(vtStr);

}

谁能告诉我原因?非常感谢。

最佳答案

所描述的行为源于以下事实:各种资源文件夹已作为组添加,当 Xcode 创建可执行文件时,它会将所有资源文件复制到一个路径中,然后相同的名称将被覆盖。复制文件的顺序可以确保应用程序中实际存在的文件在每次运行时都不同。

当您将资源添加到您的项目时,您必须创建一个文件夹引用(而不是一个组),尤其是当多个资源文件夹共享一个通用文件名时:

enter image description here

关于c++ - Cocos2dx-3.0使用setSearchPaths适配屏幕大小不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23692276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com