0

タッチ対応の 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 メソッドのレートを制限する方法はありますか? これは、これらのイベント ハンドラー内のすべてのコードを削除した場合でも発生します。そのメソッドを非常に頻繁にトリガーするだけで、すべてがうまくいかないように見えます。

4

1 に答える 1

0

これは、新しい cocos2d プロジェクトでもタッチ変更だけで発生していますか? その場合は、cocos2d フォーラムにバグ レポートを提出してください。

ログは、cocos2d が一時停止中または停止中、あるいはその両方であることを示しているようです。ブレークポイントを設定して、CCDirector 関数startAnimationstopAnimationpauseおよびresumeが呼び出されているかどうかを確認します。これらの呼び出しを行っているコールスタックを確認してください。コードに由来する場合は、修正してください。そうでなく、これが新しいプロジェクトで発生する場合は、バグ レポートを提出してください。

于 2012-10-17T16:42:05.400 に答える