我一直在关注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
通话中将相机对准播放器,但看起来非常糟糕(玩家会移动,然后相机会猛然移动到玩家位置)。
还有更好的方法吗?
答案 0 :(得分:1)
您还可以尝试自动跟随给定节点的CCFollow操作。移动播放器时,只需调用类似
的内容即可[layer runAction:[CCFollow actionWithTarget:playerNode]];