【问题标题】:Mixing iOS UIKit and Cocos2d混合 iOS UIKit 和 Cocos2d
【发布时间】:2013-04-12 18:29:10
【问题描述】:

是否可以开发一个将UIViewController 和 iOS 特定 API 元素与 Cocos2D 视图混合的应用程序?

Cocos2D 应用程序在UIView 上运行,因此我想可以在一个视图 (Cocos2D) 和另一个视图 (iOS) 之间切换,这是正确的吗?有没有很好的应用程序这样做的例子?

核心思想是使用 Cocos2D 开发一些图形动画,而另一些则使用 UIKit。

【问题讨论】:

  • 我在网上找到的最好的教程:1.Ray Wenderlich 2.Paul Cezanne 3.TinyTimGames
  • 有人有答案,请查看此链接。 stackoverflow.com/questions/5566055/…
  • 是的,这是可能的,但我觉得有趣或具有挑战性的是,UIKit 视图通常会覆盖 Cocos2D 视图,因此它们可能会掩盖你试图动画的内容,除非你小心配置你的UIKit 对象。我使用一个类来包装 UIKit 对象,例如表格、文本字段等,但我使用 Cocos2D 来处理大部分 UX。我只在 UIKit 提供无法在 Cocos2D 中轻松重现的功能时才使用它。

标签: ios uiview cocos2d-iphone uikit


【解决方案1】:

实际上,您可以随时在运行 Cocos2D 的应用中将任何 UIView 作为子视图添加到 CCDirector.sharedDirector().view

我敢打赌,你真正应该混合使用 Cocos2D 和 UIKit 的唯一原因是在 UIKit 中创建菜单和其他 UI 并使用 Cocos2D 运行游戏场景。为此,您可以简单地找到一个初始化 Cocos2D 的地方,并将其替换为您自己的 UIKit 东西,然后您可以使用您替换的代码在任何您想要的地方运行 Cocos2D 场景。如果你想这样做,你正在寻找的方法是

- (void) setupCocos2dWithOptions:(NSDictionary*)config

【讨论】:

    【解决方案2】:

    也许可以考虑使用 SpriteKit,因为它不会增加应用程序的占用空间并且已经处于非常可用的状态。它使用与 cocos2d 相同的概念,如果您已经了解 cocos2d,这对您来说非常容易。它也更适合 UIKit 环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多