关于CocosStudioV3.10的场景导入Cocos2d-xV3.17.2场景未发生变化的解决方案
作者:互联网
关于CocosStudioV3.10的场景导入Cocos2d-xV3.17.2场景未发生变化的解决方案
在我们使用CocosStudioV3.10创建的场景(csb文件)导入Cocos2d-xV3.17.2的项目中并未改变场景,原因是项目索引路径发生了改变,所以导致我们更改原来的索引路径中的csb文件并未修改代码中的索引的场景。
接下来模拟问题场景并提供解决方案。
问题场景
使用CocosStudioV3.10创建一个场景(该场景是960*640分辨率的)。
然后发布场景【ctrl+p】,将csb文件导入Cocos2d-xV3.17.2。
导入Cocos2d-xV3.17.2项目中的proj.win32中的res文件夹下。
修改AppDelegate.cpp中的屏幕大小。
static cocos2d::Size designResolutionSize = cocos2d::Size(960, 640);
然后HelloWorldScene.cpp中init()函数源码如下:
bool HelloWorld::init()
{
if (!Scene::init())
{
return false;
}
auto rootNode = CSLoader::getInstance()->createNode("MainScene.csb");
this->addChild(rootNode);
return true;
}
运行程序,结果如下:
该过程中生成以下文件夹:
紧接着,我们需要改进场景,从而我们重新进入CocosStudioV3.10中,往场景中增添一个按钮。
点击按钮组件,右侧我们更改一下特性部分。
重新发布项目【ctrl+p】。然后将生成csb文件导入Cocos2d-xV3.17.2中相同的路径下(由于文件名相同,我们直接覆盖文件即可)。
然后我们重新编译代码,结果如下:
解决问题
还记得我们第一次编译代码,生成的Debug.win32文件夹吗?它就是关键。我们点击进入其中的Resources文件夹中,发现里面同样存在一个csb文件,而且还是我们上一次的csb文件。
我们尝试将我们新版本的csb文件覆盖该文件夹,重新编译代码。
小结
当我们第一次编译代码之后(我们是在debug模式下编译代码的,因此release模式下原理相同),生成的Debug.win32文件夹里就是我们在debug模式下生成的exe文件,我们在重新编译也是重新生成exe文件,而其中存在Resources文件夹就是exe文件的索引资源文件!因为我们只有更改该文件内部的csb文件才能真正达到目的。
标签:文件,场景,CocosStudioV3.10,csb,文件夹,Cocos2d,xV3.17 来源: https://blog.csdn.net/qq135595696/article/details/122396576