Cocos2d - 精灵上的动画+定心相机?

时间:2012-08-25 23:19:11

标签: cocos2d-iphone sprite-sheet

我一直在关注this教程来创建一个基于图块的地图并让一个角色四处移动。然后我按照this教程添加了运动的精灵动画。我提出了类似以下内容的动作:

[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 个答案:

答案 0 :(得分:1)

您还可以尝试自动跟随给定节点的CCFollow操作。移动播放器时,只需调用类似

的内容即可

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