2012-12-19 76 views
0

我試圖在每次按下按鈕時在精靈上運行動畫。Cocos2d只能運行一次的動作

但由於某種原因,行動只運行一次,不會像我需要的那樣再次運行。

這是我的行爲,如果它有幫助。我的行爲被聲明爲一個id實例變量。

moveUp = [CCMoveTo actionWithDuration:3 position:ccp(60,self.position.y+200)]; 
+0

您的精靈在第一次單擊時已經移動到(60,self.position.y + 200)位置......下一步如何工作? –

+0

你可以發佈更多的代碼,在你的動作實例創建和運行?另外,你確定你正在移動正確的精靈,並且按鈕事件總是被捕獲? – yannicuLar

回答

1

您是否試圖重複使用相同的操作?像這樣:

moveUp = [CCMoveTo actionWithDuration:3 position:ccp(60,self.position.y+200)]; 
[self runAction:moveUp]; 

// some time later … 

[self runAction:moveUp]; 

,那麼這將無法正常工作。您必須每次都創建一個新動作,如下所示:

CCAction* moveUp = [CCMoveTo actionWithDuration:3 position:ccp(60,self.position.y+200)]; 
[self runAction:moveUp]; 

// some time later … 

CCAction* moveUp = [CCMoveTo actionWithDuration:3 position:ccp(60,self.position.y+200)]; 
[self runAction:moveUp];