RSS

CCParticleSystemでAbnormal error in particle quad

21 11月

環境:cocos2d-x 2.2.4
状況:CocosBuiderで画面を作ってその中にCCParticleSystemを置いておく。
実際:タイムラインが切り替わって表示されたタイミングで Abnormal error in particle quad でアプリクラッシュ。

デフォルトタイムラインではvisible=falseにしておいて、
特定のタイミングでタイムラインを切り替えて(そのタイムラインではvisible=true)パーティクルをキラキラキュピーンとさせたかった。

どうも最初に生成した時にvisible=falseだったパーティクルを、
visible=trueしようとすると、パーティクル側の初期設定がうまくされてないのでエラーになっちゃうぽい。

この辺り参考にさせて頂いて、対応。
CCParticleSystemQuad crashing with error “Abnormal error in particle quad”
Set particle visible to false then set to true cause crashes.

CCParticleSystem.cpp

// 以下をコメントアウト
update(float dt)
if (m_bVisible)
if (! m_pBatchNode)

CCParticleSystemQuad.cpp

//CCAssert( m_uParticleIdx == m_uParticleCount, "Abnormal error in particle quad");
// を、以下に 
CCAssert( m_uParticleIdx == 0 || m_uParticleIdx == m_uParticleCount, "Abnormal error in particle quad");

他の画面では引っかかってないのかなーっと思ったら、
最初っから表示させてれば動くから、デフォルトタイムラインでも表示しておいて、カスタムクラス側で非表示にしてた。
わざわざCocos2d-xの中身修正しなくてもこっちでもいいのか。

最新では直ってるのかしら、3x系触りたいよう。

広告
 
コメントする

投稿者: : 2014/11/21 投稿先 Android, C++, Cocos2d-x, iOS

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。