我已经启用了触控功能的CCLayer类以及以下方法:
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
-(void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
如果我反复快速点击iPad屏幕,它会崩溃 - 但是没有达到堆栈跟踪的程度..它只会冻结......控制台会读取:
2012-10-17 08:43:06.445 game[5432:607] cocos2d: animation stopped
2012-10-17 08:43:06.448 game[5432:607] cocos2d: animation started with frame interval: 4.00
2012-10-17 08:43:07.075 game[5432:607] cocos2d: animation stopped
2012-10-17 08:43:07.081 game[5432:607] cocos2d: animation started with frame interval: 60.00
2012-10-17 08:43:12.557 game[5432:607] cocos2d: animation stopped
2012-10-17 08:43:12.561 game[5432:607] cocos2d: animation started with frame interval: 4.00
有没有办法对ccTouchesBegan / ccTouchesEnded方法进行速率限制?如果我删除那些事件处理程序中的所有代码,就会发生这种情况 - 这只是超频率触发该方法的行为,这似乎使一切都陷入困境。
答案 0 :(得分:0)
这是在一个只有触摸修改的新cocos2d项目中发生的吗?如果是这样,请在cocos2d论坛上提交错误报告。
日志似乎表明cocos2d正在暂停或停止,或两者兼而有之。检查是否通过设置断点来调用CCDirector函数startAnimation
,stopAnimation
,pause
和resume
。检查正在进行这些呼叫的callstack。如果它来自您的代码,请修复它。如果没有,并且这在新项目中发生,请提交错误报告。