【问题标题】:Cocos2d - Animation + centring camera on a sprite?Cocos2d - 精灵上的动画 + 定心相机?
【发布时间】:2012-08-21 00:32:50
【问题描述】:

我一直在关注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 调用中将相机对准玩家的中心,但这看起来很糟糕(玩家会移动,然后相机会突然移动到玩家的位置)。

有没有更好的方法来做到这一点?

【问题讨论】:

    标签: cocos2d-iphone sprite-sheet


    【解决方案1】:

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

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

    【讨论】:

    • 太棒了,效果很好!我喜欢我只需要在 init 函数上调用它一次,它就可以继续工作。谢谢!
    猜你喜欢
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多