8
アクションを一度作成してから、複数のスプライトに追加したいとします。たとえば、私は自分の体に足の束を追加する 'モンスター'を持っています。これらの脚はそれぞれ身体の子供であり、私はそれらを前後に回転させたい。私はCCRepeatForever
の2つのシーケンスを作成しました。これはうまく動作します。私は脚にアクションを追加できますが、それを別の脚に追加すると、最初の脚は回転しません。複数のスプライトで同じアクションを使用していますか?
私は各脚のために新しいシーケンスを作りたくありません - それは何の痛みです!簡単な方法があります!
EDIT:(!おかげで再びルクマン)
私はgixdevとルクマンの答えごとに、このようにそれを実装し...
[leg1 runAction:action]; // for the first time using the action
[leg2 runAction:[[action copy] autorelease]]; // for all subsequent uses
あなたはあなたの 'コピー 'を'解放'する必要があるので、 '[leg1 runAction:[[アクションコピー] autorelease]];'代わりに;) – Lukman
ああ、そうです。それは聖なるメモリ管理の重要な部分です。) – gixdev
オリジナルの 'CCAction'は' alloc'と 'init'を使って作成するか、この方法でプログラム全体に再利用する' property'として作成する必要があります - それ以外の場合は、それ自体がオートレリースされ、 'コピーされる 'ことはできません。 – Steve