昨天在调新工程的时候发现个问题,程序启动后直接黑屏了,设断点看了一下,发现时因为无法找到Resource目录下的资源,仔细检查了一下,文件名都没错,到底为什么会有这种情况,然后又开了cocos2dx的官方例子看了看,发现官方例子都是没问题的,我这工程是直接用cocos new命令生成的,难道被官方坑了?还是打开方式不对?决定跟进程序看一下。发现这个跟cocos2dx在win32下读取文件的流程有关,cocos2dx在win32下读取文件的核心几步大概是这样,首先是通过FileUtils::fullPathForFilename这个方法找到绝对路径,注意该方法中的这段代码:
for (auto searchIt = _searchPathArray.cbegin(); searchIt != _searchPathArray.cend(); ++searchIt)
{
for (auto resolutionIt = _searchResolutionsOrderArray.cbegin(); resolutionIt != _searchResolutionsOrderArray.cend(); ++resolutionIt)
{
fullpath = this->getPathForFilename(newFilename, *resolutionIt, *searchIt);
if (fullpath.length() > 0)
{
// Using the filename passed in as key.