Easy-Game-Center Sprite-Kit 集成
Easy-Game-Center Sprite-Kit Integration
我正在尝试在我的游戏中使用来自 GitHub 的 DaRkD0G 的 Easy-Game-Center(swift 精灵工具包)。但是,调用 EasyGameCenter.Swift 时(使用
EasyGameCenter.sharedInstance(self)
在我的游戏场景中)
我收到一条错误消息 "Cannot convert value of type 'GameScene' to expected argument type 'UIViewController'"。在过去的几天里,我尝试在 EasyGameCenter 中更改不同的 class 类型,但总能得到答案。有人有什么建议吗?
从未使用过该库,但如消息所述:
"Cannot convert value of type 'GameScene' to expected argument type
'UIViewController'"
这是您调用的方法:
class func sharedInstance(delegate:UIViewController)-> EasyGameCenter {
if Static.instance == nil {
dispatch_once(&Static.onceToken) {
Static.instance = EasyGameCenter()
Static.delegate = delegate
Static.instance!.loginPlayerToGameCenter()
}
}
return Static.instance!
}
您必须传递 UIViewController 作为参数而不是 GameScene。
我是这个项目的创建者。
没有UIViewController就无法使用Apple的Game Center!
Framework Game Center 需要 UIViewController 才能工作,这是 Game Center Apple 的官方文档。
而 Easy Game Center 需要创建委托 UIViewController 才能完美工作,没有它就无法使用 Game Center
示例项目 Game Center + Sprite Kit :
http://www.raywenderlich.com/60980/game-center-tutorial-how-to-make-a-simple-multiplayer-game-with-sprite-kit-part-1
使用 UIViewController 创建实例:
这是为了创建 EasyGameCenter 的实例
override func viewDidLoad() {
super.viewDidLoad()
EasyGameCenter.sharedInstance(self)
}
添加这个,如果你改变 UIViewController 通知视图控制器委托被改变,它是可选的,如果你不改变 UIViewController 你不需要这个方法
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
EasyGameCenter.delegate = self
}
就这样,现在你可以用CocoaPods导入项目了
pod 'EasyGameCenter', :git => 'https://github.com/DaRkD0G/Easy-Game-Center-Swift.git'
我正在尝试在我的游戏中使用来自 GitHub 的 DaRkD0G 的 Easy-Game-Center(swift 精灵工具包)。但是,调用 EasyGameCenter.Swift 时(使用
EasyGameCenter.sharedInstance(self)
在我的游戏场景中) 我收到一条错误消息 "Cannot convert value of type 'GameScene' to expected argument type 'UIViewController'"。在过去的几天里,我尝试在 EasyGameCenter 中更改不同的 class 类型,但总能得到答案。有人有什么建议吗?
从未使用过该库,但如消息所述:
"Cannot convert value of type 'GameScene' to expected argument type 'UIViewController'"
这是您调用的方法:
class func sharedInstance(delegate:UIViewController)-> EasyGameCenter {
if Static.instance == nil {
dispatch_once(&Static.onceToken) {
Static.instance = EasyGameCenter()
Static.delegate = delegate
Static.instance!.loginPlayerToGameCenter()
}
}
return Static.instance!
}
您必须传递 UIViewController 作为参数而不是 GameScene。
我是这个项目的创建者。
没有UIViewController就无法使用Apple的Game Center!
Framework Game Center 需要 UIViewController 才能工作,这是 Game Center Apple 的官方文档。
而 Easy Game Center 需要创建委托 UIViewController 才能完美工作,没有它就无法使用 Game Center
示例项目 Game Center + Sprite Kit : http://www.raywenderlich.com/60980/game-center-tutorial-how-to-make-a-simple-multiplayer-game-with-sprite-kit-part-1
使用 UIViewController 创建实例:
这是为了创建 EasyGameCenter 的实例
override func viewDidLoad() {
super.viewDidLoad()
EasyGameCenter.sharedInstance(self)
}
添加这个,如果你改变 UIViewController 通知视图控制器委托被改变,它是可选的,如果你不改变 UIViewController 你不需要这个方法
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
EasyGameCenter.delegate = self
}
就这样,现在你可以用CocoaPods导入项目了
pod 'EasyGameCenter', :git => 'https://github.com/DaRkD0G/Easy-Game-Center-Swift.git'