繁体   English   中英

易游戏中心Sprite-Kit集成

[英]Easy-Game-Center Sprite-Kit Integration

我正在尝试在游戏中使用来自GitHub的DaRkD0G的Easy-Game-Center(swift sprite kit)。 但是,在调用EasyGameCenter.Swift(

        EasyGameCenter.sharedInstance(self)

在我的GameScene中),我收到一条错误消息:“无法将类型'GameScene'的值转换为预期的参数类型'UIViewController'”。 在过去的几天中,我尝试在EasyGameCenter中更改不同的类类型,但始终会得到答案。 有没有人有什么建议?

我是这个项目的创造者。

没有UIViewController,您将无法使用Apple的Game Center!

Framework Game Center需要UIViewController才能工作 ,这是Game Center Apple的官方文档。

在此处输入图片说明

而且Easy Game Center需要使用委托UIViewController创建才能完美地工作, 而不可能使用Game Center

Projet 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'

从未使用过该库,但如消息所示:

“无法将类型'GameScene'的值转换为预期的参数类型'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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM