将 Gamecenter 放在自己的 class
Put Gamecenter in it's own class
我几周前开始编码,现在想在我正在开发的小游戏中实现 GameCenter。
我首先在 ViewController 中关注此 tutorial on YouTube and everything worked fine when I had the GC functions:UIViewController class。
为了组织代码,我更愿意将它们放入自己的 GameCenter: GKGameCenterControllerDelegate class,我尝试这样做但不幸失败了。
我所做的是,我在 Xcode 中添加了一个 Swift 文件,我在其中为 GC 函数创建了一个新的 class。我目前在我的 ViewController 中用类似的方式给他们打电话:
GameCenter().authenticateLocalPlayer()
现在我不确定如何编辑这部分代码以使其工作,我认为它与 ViewController 有关,但我必须承认我不完全理解它:
func showLeaderboard() {
var vc = ViewController().view?.window?.rootViewController
var gc = GKGameCenterViewController()
gc.gameCenterDelegate = self
vc?.presentViewController(gc, animated: true, completion: nil)
}
我已经改了
var vc = self.view?.window?.rootViewController
到
var vc = ViewController().view?.window?.rootViewController
但我不确定如何处理
gc.gameCenterDelegate = self
我想我要么需要将 self 更改为类似于我的 ViewController() 的内容,要么我必须用我的 classes 的协议做点什么,或两者都做。
谁能帮我把GC相关的函数写成自己的class?
先感谢您。 :)
我让自己更轻松,然后切换到 Easy Game Center。
我几周前开始编码,现在想在我正在开发的小游戏中实现 GameCenter。
我首先在 ViewController 中关注此 tutorial on YouTube and everything worked fine when I had the GC functions:UIViewController class。 为了组织代码,我更愿意将它们放入自己的 GameCenter: GKGameCenterControllerDelegate class,我尝试这样做但不幸失败了。
我所做的是,我在 Xcode 中添加了一个 Swift 文件,我在其中为 GC 函数创建了一个新的 class。我目前在我的 ViewController 中用类似的方式给他们打电话:
GameCenter().authenticateLocalPlayer()
现在我不确定如何编辑这部分代码以使其工作,我认为它与 ViewController 有关,但我必须承认我不完全理解它:
func showLeaderboard() {
var vc = ViewController().view?.window?.rootViewController
var gc = GKGameCenterViewController()
gc.gameCenterDelegate = self
vc?.presentViewController(gc, animated: true, completion: nil)
}
我已经改了
var vc = self.view?.window?.rootViewController
到
var vc = ViewController().view?.window?.rootViewController
但我不确定如何处理
gc.gameCenterDelegate = self
我想我要么需要将 self 更改为类似于我的 ViewController() 的内容,要么我必须用我的 classes 的协议做点什么,或两者都做。
谁能帮我把GC相关的函数写成自己的class? 先感谢您。 :)
我让自己更轻松,然后切换到 Easy Game Center。