我的GameScene.swift文件中有一个名为decisionEnemy()的函数。我想在我的AppDelegate.swift文件中的didFinishLaunchingWithOptions中调用此函数。这是我尝试但没有运气的事情:
var gscene = GameScene(fileNamed: "GameScene")
在didFinishLaunchingWithOptions下,我打电话给:
gscene!.decideEnemy()
我可能错过了一些简单的事情,但我一直无法找到如何让它发挥作用。 xCode没有给我任何错误,函数不会触发。有什么建议?谢谢!
所以,我试图在AppDelegate.swift中运行它,因为我已经有了以下内容:
var lastTime : NSDate!
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let defaults = NSUserDefaults.standardUserDefaults()
let defaultValues = ["lastTime" : NSDate()]
defaults.registerDefaults(defaultValues)
lastTime = NSUserDefaults.standardUserDefaults().objectForKey("lastTime") as! NSDate
elapsedTime = NSDate().timeIntervalSinceDate(lastTime)
if elapsedTime > 30 {
gscene!.decideEnemy()
}
}
所以我的想法是记录" lastTime"当比赛结束时。然后当游戏打开时,如果已经过了一定的时间,那么我想调用我的decisionEnemy()函数。
我是否应该拨打我的" elapsedTime"进入我的GameScene.swift文件并在didMoveToView下运行if语句?我该怎么办呢?
所以这就是我最终做的事情。在我的GameScene文件中,我添加了:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
然后将其添加到ViewDidLoad:
if appDelegate.elapsedTime > 30 {
decideEnemy()
}