Bir alt görüntünün (SKView
) doğru boyutunu bulmaya/ayarlamaya çalışıyorum.SKView alt görünümü ve SKScene nasıl boyutlandırılır
Bir UIView
oluşturmak için film şeridini ve SKView
olan bir alt görünümü kullanıyorum. Program aracılığıyla SKView
boyutlarıyla SKScene
oluşturmak istiyorum.
Benim düşüncem scene.size.height
ve scene.size.width
SKView'un yüksekliğine ve genişliğine eşit olacaktır. Bunu test etmek için, her köşede dört mavi daire çiziyorum ve sınırlarda kırmızı çizgiler çiziyorum. Dört mavi köşe noktasını ve yatılı çizgiyi görmeyi beklediğimde sadece sol alt köşeyi görebiliyorum.
Lütfen Sahne Alanı'ndaki siyah daireleri dikkate almayın, bunlar ilgisizdir.
iPhone 6 Ekran Görüntüsü (manzara)
ekledim SW (Güney Batı), SE, KD ve KB etiketler
ViewController SKView Referansıyla I SKSCene
kısıtlamalar (func newGame
bakınız)
import UIKit
import SpriteKit
class CenterView: UIViewController, ActionDelegate {
@IBOutlet weak private var navBar:UINavigationBar!
@IBOutlet weak private var titleBar:UINavigationItem!
@IBOutlet weak private var gameView:SKView!
var navigation:NavigationDelegate?
var action:ActionDelegate?
var game:GameDelegate?
override func viewDidLoad() {
super.viewDidLoad()
self.action = self
newGame()
}
@IBAction func menuClick(sender: AnyObject) {
navigation?.toggleLeftPanel()
}
func setTitleBarTitle(title: String) {
titleBar.title = title
}
func newGame() {
print("skview bounds: \(self.gameView.bounds.size)")
let game = GameScene(size: self.gameView.bounds.size)
self.game = game
game.action = action
game.scaleMode = .ResizeFill
self.gameView.presentScene(game)
}
}
Main.storyboard burada oluşturulur
ekleme Köşe Çemberleri & Sınır Çizgileri
if let scene = self.scene {
let dot = SKShapeNode(circleOfRadius: 10)
dot.fillColor = UIColor.blueColor()
dot.position = CGPoint(x: 0,y: 0)
let dot1 = SKShapeNode(circleOfRadius: 10)
dot1.fillColor = UIColor.blueColor()
dot1.position = CGPoint(x: scene.size.width,y: 0)
let dot2 = SKShapeNode(circleOfRadius: 10)
dot2.fillColor = UIColor.blueColor()
dot2.position = CGPoint(x: 0,y: scene.size.height)
let dot3 = SKShapeNode(circleOfRadius: 10)
dot3.fillColor = UIColor.blueColor()
dot3.position = CGPoint(x: scene.size.width,y: scene.size.height)
let left = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 3, height: scene.size.height))
let top = SKShapeNode(rect: CGRect(x: 0, y: scene.size.height, width: scene.size.width, height: 3))
let right = SKShapeNode(rect: CGRect(x: scene.size.width, y: 0, width: 3, height: scene.size.height))
let bottom = SKShapeNode(rect: CGRect(x: 0, y: 0, width: scene.size.width, height: 3))
left.fillColor = UIColor.redColor()
top.fillColor = UIColor.redColor()
bottom.fillColor = UIColor.redColor()
right.fillColor = UIColor.redColor()
scene.addChild(dot)
scene.addChild(dot1)
scene.addChild(dot2)
scene.addChild(dot3)
scene.addChild(left)
scene.addChild(top)
scene.addChild(right)
scene.addChild(bottom)
}