2012-08-25 138 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