2012-08-25 117 views
0

我一直在關注this教程來創建一個基於tile的地圖,並讓角色四處移動。然後我跟着this教程爲動作添加精靈動畫。我想出了類似的運動如下:Cocos2d - 動畫+集中精靈相機?

[self stopAction: cameraMoveAction]; 
[playerSprite stopAction:playerMoveAction]; 
[playerSprite runAction: targetAction]; 

self.playerMoveAction = [CCSequence actions: 
         [CCMoveTo actionWithDuration: MOVEMENT_SPEED * 4 position: newPosition], 
         [CCCallFunc actionWithTarget: self selector: @selector(finishedMoving)], 
         nil 
         ]; 

self.cameraMoveAction = [CCSequence actions: 
         [CCMoveTo actionWithDuration: MOVEMENT_SPEED * 4 position: [self calculateNewCenterOfScreen: newPosition]], 
         nil 
         ]; 

[self runAction: cameraMoveAction]; 
[playerSprite runAction: playerMoveAction]; 

所以,如果你看到的,我動播放機和攝像機(爲了保持玩家爲中心所有的時間)。我也嘗試在finishedMoving通話中將相機對準播放器中的相機,但看起來非常糟糕(播放器會移動,然後相機會向玩家位置跳躍)。

有沒有更好的方式去做這件事?

回答

1

您也可以嘗試自動跟隨給定節點的CCFollow動作。當你移動你的播放器時,只需撥打一下,如

[layer runAction:[CCFollow actionWithTarget:playerNode]];

+0

太棒了,工作很棒!我喜歡我只需要在'init'函數中調用它,它就會繼續工作。謝謝! – Kyle