Cocos2dx重启场景崩溃CCTextureCache
Cocos2dx restart scene crashing CCTextureCache
在iOS平台的《Cocos2dx》中,我在重新启动同一个场景时遇到了问题。我希望在玩家死亡时重新开始相同的场景。有很多事情发生在启动时,所以如果可能的话,我宁愿不尝试手动重置所有的游戏变量,清除缓存等。
在玩家死亡的部分,我执行以下操作
cocos2d::CCScene *pScene = GameScene::scene();
cocos2d::CCDirector::sharedDirector()->replaceScene(pScene);
但是这会导致以下崩溃:
CCTextureCache::CCTextureCache()
{
CCAssert(g_sharedTextureCache == NULL, "Attempted to allocate a second instance of a singleton.");
m_pTextures = new CCDictionary();
}
Gamescene继承自CCLayer,它的构造函数是这样的
CCScene* GameScene::scene()
{
CCScene *scene = CCScene::create();
GameScene *layer = GameScene::create();
scene->addChild(layer);
return scene;
}
应用程序在这一行崩溃GameScene *layer = GameScene::create();但我真的不能再继续下去了。我在更换场景时做错了什么吗?
感谢您的帮助
虽然你应该在scene()静态函数中实现适当的检查,但我认为这可能不会导致问题。如果你能给出这个GameLayer类的所有代码,我可能会指出你的错误,因为我已经做了你想做的事情。
你可能试图做一些非法的纹理缓存在你的init函数,这是我的猜测。但是一定要发布你的代码!
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 内联映射初始化的动态atexit析构函数崩溃
- 执行函数时导致崩溃的变量
- 程序崩溃并显示"std::out_of_range"错误
- CoInitialize()在单独的线程上崩溃而不返回
- 使用调试/崩溃报告将应用程序部署到客户端
- 为什么所有C++编译器都会崩溃或挂起此代码
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 为什么我的多线程作业队列崩溃
- ExtractIconEx:可以工作,但偶尔会崩溃
- 为什么引用传递会导致此崩溃(C++)
- 试图创建流或fopen时程序崩溃
- 类对象数组的问题会导致崩溃
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- 为什么要增加导致崩溃的指针
- 在虚幻引擎中删除NXOpen对象时崩溃
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- Visual Studio在尝试读取resource.txt文件时崩溃
- 将方法转换为调用该方法的成员函子对象会导致崩溃