【发布时间】:2016-03-02 16:50:54
【问题描述】:
在尝试在硬件中断或 JAVA 回调中添加、删除Child 时,我遇到了很多崩溃。
我的游戏有一个调用 java 的软按钮,以便使用语音识别。
上下文:
C++: btnRecord pressed -> JAVA: startVoiceRecognition -> C++: return;
JAVA: hasResult -> C++: resultHandler -> C++: addchild, removechild, etc.-> crashed randomly.
我发现它崩溃了,因为我试图在 cocos 在同一区域做同样的事情时更改游戏数据。
例如:当 cocos 渲染 layerA 时,JAVA 也试图移除 layerA -> crashed.
cocos 有针对这种情况的解决方案吗?
可能是一个回调队列,将在下一个游戏循环中处理?
我认为当你按下一些硬按钮时需要改变绘图场景:返回键、音量键或任何硬件中断事件是非常必要的。
【问题讨论】:
标签: java-native-interface interrupt-handling cocos2d-x-3.x