我在cocos2d制作iPhone游戏。
我想知道如何让相机/视图跟随特定的精灵?
我会使用CCCamera类吗?
答案 0 :(得分:10)
是的,CCCamera可行。然而,它具有一些缺点,使得它在某些用途中是不合需要的。分别移动图层相对于该子画面的所有其他对象可能是更好的解决方案。这取决于游戏。
首先,阅读不同的方法及其缺点,你可以从这个cocos2d论坛帖子中获得很多: http://www.cocos2d-iphone.org/forum/topic/5363
如果您可以描述您的游戏内容以及为什么需要将相机连接到该精灵,这将会很有帮助。
例如,如果您正在考虑像Canabalt这样的跑步游戏,我不会使用相机滚动世界,而是相对于玩家(朝向他)滚动所有内容,玩家大致相同运行时的x坐标。完全没有移动相机的游戏的例子是iCopter游戏,它们基本上是Canabalt的简化版本。请注意,玩家精灵始终保持完全相同的x坐标,游戏世界只会滚动
在我看来,滚动相机本身是最有意义的,如果你有一个大型游戏世界,玩家可以在各个方向上移动,并且对象的数量太多而且还在各个方向移动,所以更新他们的每个框架单独的位置都是过度杀伤并且容易出错。而且由于游戏世界如此巨大,你可能希望使用相机的位置来限制屏幕上绘制的内容。
答案 1 :(得分:8)
使用CCFollow操作
喜欢这些: -
[self runAction:[CCFollow actionWithTarget:(u r hero) worldBoundary:CGRectMake(0,0,1050,350)]];
它会有所帮助