私は、五線譜クラス(CCNode)と音符クラス(CCSprite)を持つ記譜アプリに取り組んでいます。
次のような音符が五線譜に追加されます。
// MusicStaff.m
[self addChild:note];
ノートにはパーティクルエミッターがあり、これを親に追加する必要があります。私は次のようなことをしていると思います。
// Note.m
[self.musicStaff addChild:self.emitter];
ノートがスタッフをコントロールするという考えが好きではないので、かっこいいとは言えません---スタッフを、子供が何を持っているかをコントロールするものと考えるのが好きです。
このパーティクルエミッターは、技術的には音符の一部であり、音楽スタッフの一部ではないため、音符の子である必要があると正直に感じています。したがって、音楽スタッフに追加することは本質的に間違っていると感じます。ただし、cocos2dについて私が理解していることから、CCSpriteに子を追加することはできますが、スプライトは子の描画を管理しないため、このパーティクルエミッターは表示されません。
とは言うものの、これを実行する唯一の方法はスタッフにエミッターを追加することであると私が知っている限り、私は次のことを行うことを好みます。
// MusicStaff.m
[self addChild:note];
[self addChild:note.emitter];
ただし、私のプロジェクトのチームメンバーは、これは「後方」で「ダム」であり、メモはエミッタをその親に直接追加する必要があると感じています。これについての私の考えが本当に「後ろ向き」で「ばかげている」かどうか、または私が有効なポイントを持っているかどうかについて、フィードバックを求めています…</ p>
また、この問題を解決する別の方法があるかどうかも知りたいです。たとえば、エミッターをノートに直接追加して、その子を何らかの方法で描画させるなどです。