8
我想創建一個動作,然後將其添加到多個精靈。例如,我有一個「怪物」,它會將一堆腿添加到它的身體。每條腿都是身體的孩子,我希望它們來回旋轉。我做了一個CCRepeatForever
兩個CCRotateBy
行動的序列,這很有效。我可以將動作添加到腿部,但是如果我將其添加到不同的腿部,則第一條腿不會旋轉。在多個精靈上使用相同的動作?
我不想爲每條腿做一個新的序列 - 多麼痛苦!有一個簡單的方法!
編輯:(!再次感謝盧克曼)
我實現了它這樣的,每gixdev和盧克曼的答案...
[leg1 runAction:action]; // for the first time using the action
[leg2 runAction:[[action copy] autorelease]]; // for all subsequent uses
你需要'釋放'你'複製',因此我建議'[leg1 runAction:[[action copy] autorelease]];'而不是;) – Lukman
哦,是的。這是神聖的內存管理的重要部分=) – gixdev
只是要清楚,最初的'CCAction'需要用'alloc'和'init'創建,或者作爲一個'property'作爲一個屬性在整個程序中以這種方式重用 - 否則它會自動釋放,不能被「複製」,對吧? – Steve