使っているのはXcode6-Beta4です。
GameテンプレートでSpriteKitを使うと、GameSceneというのがデフォルトでは用意されています。このsceneのサイズがデフォルトだと、(1024,768)なのですが、これはどこで指定しているのでしょうか?教えて頂ければ幸いです!
GameViewController.swiftの冒頭部分は以下のようになっています。
`
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) } }
`
普通にGameSceneのインスタンスを作ろうとしたら、
let scene = GameScene(size: self.view.bounds.size)
などと書くと思うのですが、こうすると、sceneのサイズが、(320,480)になってしまいます。これはこれで問題ないのですが…。ただ、デフォルトの書き方だと、sceneのサイズが(1024,768)となるので、その理由が知りたいです。分かる方いらっしゃいましたら、宜しくお願いしますm(..)m
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。