0
我正在使用Cocos2d引擎,並且遇到了一個奇怪的問題。多個Sprite操作
我有一個精靈。此外,我有2個動畫的精靈。我想在應用程序加載時播放一個動畫,在調用ccTouchevent之後播放一個動畫。
walkAnim = [CCAnimation animation];
dropAnim = [CCAnimation animation];
for(int q=1;q<12;q++){
[walkAnim addFrameWithFilename: [NSString stringWithFormat:@"walkforward_%.2d.png", q]];
[dropAnim addFrameWithFilename: [NSString stringWithFormat:@"drop_%.2d.png", q]];
}
action = [CCAnimate actionWithAnimation:walkAnim];
action.duration = 2;
id act = [CCRepeatForever actionWithAction:action];
[sprite runAction:act];
所以,在這裏我們看到一個動畫精靈。
[sprite stopAllActions]; //and here my torture begins
我試圖創建一個行動的許多方面:
我試圖添加其他AnimateAction,試圖替換當前的動畫,但在發生碰撞的一切結果。
[action setAnimation:dropAnim];
和
CCAnimate* animat = [[CCAnimate alloc]initWithDuration:30 animation:dropAnim restoreOriginalFrame:YES];
和
id action = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:dropAnim]];
[player1 runAction:action];
崩潰是[CCAnimate actionWithAnimation:]
+(id) actionWithAnimation: (CCAnimation*)anim
{
return [[[self alloc] initWithAnimation:anim restoreOriginalFrame:YES] autorelease];
}
謝謝!
要從另一種方法啓動一個動作,您必須保留動作
例如:[action retain];
,如果你發現你的問題,請在這裏回答自己和接受它的答案,所以其他的可以的情況下,使用它,他們發現這個職位。祝你好運! – 2011-03-30 10:11:51
請注意「並接受它」部分,URLArenzo。另外,請仔細考慮您的標籤。這與Xcode 4完全沒有關係 - 這是一種語言/ API問題。 – 2011-03-30 11:33:45
謝謝,明天我將能夠接受。 – 0xDE4E15B 2011-03-30 11:36:07