iPhone:cocos2d 中相机跟随玩家

标签 iphone objective-c cocos2d-iphone

我正在用 cocos2d 制作一款 iPhone 游戏。

我想知道如何让相机/ View 跟随特定的 Sprite ?

我会使用 CCCamera 类吗?

最佳答案

是的,CCCamera 可以工作。然而,它有一些缺点,使其不适合某些用途。相对于该 Sprite 移动图层以及所有其他对象可能是更好的解决方案。这取决于游戏。

首先,了解不同的方法及其缺点,您可以从这个 cocos2d 论坛主题中获得很多信息: http://www.cocos2d-iphone.org/forum/topic/5363

如果您能描述您的游戏的内容以及为什么需要将相机附加到该 Sprite 上,将会很有帮助。

例如,如果您正在考虑像 Canabalt 这样的运行游戏,我不会使用相机滚动世界,而是滚动相对于玩家(朝向他)的所有内容,并且玩家坚持大约相同的位置运行时的 x 坐标。 iCopter 游戏是您根本不需要移动相机的游戏的完美示例,它们基本上是 Canabalt 的简化版本。请注意,玩家 Sprite 始终保持在完全相同的 x 坐标,并且游戏世界只是滚动

在我看来,如果你有一个玩家可以在各个方向上穿越的大型游戏世界,并且对象的数量太多并且还在各个方向上移动,那么滚动相机本身是最有意义的,因此更新它们的单独定位每一帧既矫枉过正,又容易出错。由于游戏世界如此巨大,您可能需要使用相机的位置来限制屏幕上绘制的内容。

关于iPhone:cocos2d 中相机跟随玩家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890068/

相关文章:

iphone - NSLog 导致 iPhone 应用程序在 Apple 应用程序审核期间崩溃

iphone - 如何获取iPhone map 中当前位置的坐标值?

ios - UISegmentedControl 不响应触摸

objective-c - 从 uialertview 按钮打开一个 uiviewcontroller

objective-c - 在 NSTextView 中创建指向某些文本的超链接

ios - 如何使 NSNotificationCenter 仅在选择某个 UITextField 时运行

objective-c - 如何从 NSGraphicsContext 获取 NSAffineTransformation

iphone - 如何执行当前 iOS 应用程序中的 cocos2d 游戏?

cocos2d-iphone - iOS 6 Game Center 在身份验证时崩溃

iphone - iOS 中的日历页面