特にUITableViewは、cocos2dで同じような機能を実装するのが面倒なので、混在させて使用することもあると思います。
そんな時、UITableViewをスクロールさせると、cocos2dの処理がブロックされてしまいます。
UITableViewをスクロールさせながら、cocos2dの処理をブロックさせないには、どうしたら良いのでしょうか?
検索すると色々情報が出てくるので、みんな一度は通る道なのかと思います。
古いcocos2dのバージョンに関するものが多いですが、cocos2d v2.1で有効な情報がStack Overflowにありました。
こちらの情報によりますと、CCDirectorIOS.mのstartAnimationメソッドで、
[_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];と書かれている部分を、以下のように書き換えてやるだけです。
[_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
但し、この変更によってどんな弊害があるのか、実はまだ分かりません。(;´∀`)
私の開発中のプロジェクトでは、今のところ特にパフォーマンスが落ちたりするような事も無く動作しているので、しばらく様子を見ようと思います。
0 件のコメント:
コメントを投稿