不使用SpriteKit创建游戏

Abd*_*023 7 ios sprite-kit swift

我有一个游戏创意,不需要任何SpriteKit功能,如(物理,碰撞或动作),这是一个简单的策略游戏,比如(Plague Inc,或民主),你们熟悉那些游戏.所以我想我可以让自己变得简单,只需使用Storyboard viewControllers和object,而不是在代码中完成所有这些操作,就可以正常创建它.但是SpriteKit有一个功能对于我的游戏(或任何游戏)而言非常重要,而这些游戏并非构建在正常的Xcode项目中,这是"更新"方法,你知道跟踪得分和其他值,所以我实现了接近它的东西,并且工作得很好:

 override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    var finish = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "check", userInfo: nil, repeats: true)
}

func check() {

    if score == 10 {

        println("Win!")
    }
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但我不确定这是最好的做法,或者这样的方法会影响应用程序的性能多少,特别是如果我有多个方法一直运行.

Ron*_*ler 6

我创造了有和没有SpriteKit的游戏,你正在做的事情非常好.

您可能需要考虑在更新分数的任何地方检查分数.如果分数在多个位置更新,则调用更新分数的功能,然后立即进行检查.然后,您可以一起避免循环.此外,如果分数在循环运行之前多次更新,则可以跳过分数== 10的情况.


lxt*_*lxt 2

使用当前代码,您check()每秒都会调用该函数。该函数所做的只是比较一个整数。这是计算机可以做的最基本的事情之一:iOS 设备中的 CPU 能够在不到一秒的时间内运行数千次此类比较。所以你完全没有理由担心。

现在,当您构建游戏时,您可能会发现自己正在向此方法扩展和添加内容,在这种情况下,性能可能会成为问题。最好的办法是,正如上面的评论之一所建议的那样,只是构建你的游戏,看看它是否会成为一个问题。考虑性能总是好的,但同时在不需要时进行优化可能会很糟糕。