66 lines
2.0 KiB
Swift
66 lines
2.0 KiB
Swift
//
|
|
// test.swift
|
|
// from https://github.com/fullstackio/FlappySwift
|
|
//
|
|
// Created by Nate Murray on 6/2/14.
|
|
// Copyright (c) 2014 Fullstack.io. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
import SpriteKit
|
|
|
|
extension SKNode {
|
|
class func unarchiveFromFile(file : NSString) -> SKNode? {
|
|
|
|
let path = NSBundle.mainBundle().pathForResource(file, ofType: "sks")
|
|
|
|
var sceneData = NSData.dataWithContentsOfFile(path, options: .DataReadingMappedIfSafe, error: nil)
|
|
var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData)
|
|
|
|
archiver.setClass(self.classForKeyedUnarchiver(), forClassName: "SKScene")
|
|
let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as GameScene
|
|
archiver.finishDecoding()
|
|
return scene
|
|
}
|
|
}
|
|
|
|
class GameViewController: UIViewController {
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
|
|
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
|
|
// Configure the view.
|
|
let skView = self.view as SKView
|
|
skView.showsFPS = true
|
|
skView.showsNodeCount = true
|
|
|
|
/* Sprite Kit applies additional optimizations to improve rendering performance */
|
|
skView.ignoresSiblingOrder = true
|
|
|
|
/* Set the scale mode to scale to fit the window */
|
|
scene.scaleMode = .AspectFill
|
|
|
|
skView.presentScene(scene)
|
|
}
|
|
}
|
|
|
|
override func shouldAutorotate() -> Bool {
|
|
return true
|
|
}
|
|
|
|
override func supportedInterfaceOrientations() -> Int {
|
|
if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
|
|
return Int(UIInterfaceOrientationMask.AllButUpsideDown.toRaw())
|
|
} else {
|
|
return Int(UIInterfaceOrientationMask.All.toRaw())
|
|
}
|
|
}
|
|
|
|
override func didReceiveMemoryWarning() {
|
|
super.didReceiveMemoryWarning()
|
|
// Release any cached data, images, etc that aren't in use.
|
|
}
|
|
|
|
}
|