快速接触让我的比赛崩溃

时间:2012-10-17 15:49:36

标签: cocos2d-iphone

我已经启用了触控功能的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方法进行速率限制?如果我删除那些事件处理程序中的所有代码,就会发生这种情况 - 这只是超频率触发该方法的行为,这似乎使一切都陷入困境。

1 个答案:

答案 0 :(得分:0)

这是在一个只有触摸修改的新cocos2d项目中发生的吗?如果是这样,请在cocos2d论坛上提交错误报告。

日志似乎表明cocos2d正在暂停或停止,或两者兼而有之。检查是否通过设置断点来调用CCDirector函数startAnimationstopAnimationpauseresume。检查正在进行这些呼叫的callstack。如果它来自您的代码,请修复它。如果没有,并且这在新项目中发生,请提交错误报告。