CCRenderer报错

报错的代码段(红线是vs抽风了)功能是按下esc后切换场景


报错信息
debug
报错位置:assert(false),commandType的值是一个很小的负数,大概是-5000000多

这个问题是有概率出现,约10%的概率,这个问题困扰萌新很久了,一直不知道为什么,求大佬帮助

55555…

调试一下,看看调用栈,看是哪里引起的了
没遇到过

没遇到过这种,在添加渲染指令哪里断点打印看看 类型怎么变成负数了

大佬,我试了一下,只有在移动窗口或最小化窗口之后会出现这样的问题。还有,小声的问一下添加渲染指令是哪里啊 :sob:

在移动窗口或最小化窗口之后还会出现新的问题,断点如下


该问题可能出现在任何场景切换时


添加渲染指令这里加断点吧,查查是哪个渲染指令类型是负数

大佬,看不太懂


我找到稳定触发条件了,与窗口无关

不懂 多了解下cocos2dx的渲染流程吧,现在你就不停的追踪堆栈最初始的调用,找到这个负值的由来。

1赞

找到错误了,渲染出错的是RenderTexture创建的对象

这是我的新代码

我的场景中有一些运动的sprite,它们将按照顺序执行两个动作,第一个是moveby,第二个是moveby与fadeout同时执行的动作,当场景中有sprite执行完第一个动作,刚开始(或还未)执行第二个动作时,执行此段代码就会出现上述错误,这是为什么啊 :sob:

恭喜~~~~~~~~