iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
Xcodeの新規プロジェクトで生成されるSpriteKitを使ってプロジェクトをGameコントローラを使用したものに変更してみる。
Gameコントローラの内容は以下のとおり。
import Foundation
import SpriteKit
import GameplayKit
class Game {
var gameScene: GameScene?
let random: GKRandomSource?
init() {
random = GKRandomSource()
}
deinit {
}
var scene: GameScene? {
get {
if gameScene == nil {
gameScene = GameScene(fileNamed: "GameScene")
}
return gameScene
}
}
}
以下がViewControllerの変更前。
class GameViewController: UIViewController {
:
override func viewDidLoad() {
print(NSStringFromClass(self.dynamicType), __FUNCTION__)
super.viewDidLoad()
if let scene = GameScene(fileNamed: "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)
}
}
:
}
以下がViewControllerの変更後。
class GameViewController: UIViewController {
:
override func viewDidLoad() {
print(NSStringFromClass(self.dynamicType), __FUNCTION__)
super.viewDidLoad()
game = Game()
if let aGame = game {
let scene = aGame.scene
scene!.scaleMode = .AspectFill
let skView = view as! SKView
skView.presentScene(scene)
skView.ignoresSiblingOrder = true
skView.showsFPS = true
skView.showsNodeCount = true
}
}
:
}