私は簡単なゲームを作成していると私は、ディスプレイ全体を埋めるためにSKNode(/ SKSpriteNode)を提示することができるようにSpriteKitベースシーンの実際のサイズ(幅/高さ)を取得したいと思いますが、どうやらSwift:Spritekit Sceneのサイズを取得してSKNodeフルスクリーンを表示する方法は?
backgroundNode.size = CGSize(width: view.frame.width, height: view.frame.height)
などは動作しません。ノードは表示されますが、実際の画面サイズのわずか4分の1です。
私はこのようなGameViewController.swiftからSKSceneを提示:
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
let scene = GameScene(size: view.bounds.size)
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill
// Present the scene
view.presentScene(scene)
view.ignoresSiblingOrder = true
}
それでは、どの一つは、実際にSpriteKitベースシーンのサイズを取得またはGameSceneにSKNode/SKSpriteNodeのフルスクリーンを提示する別の方法があるだろうか?
アップデート:私もこれを試してみました:
let displaySize: CGRect = UIScreen.main.bounds
let displayWidth = displaySize.width
let displayHeight = displaySize.height
サイズとしてiPhone 8 375x667のための私を与えるが、ノードは、まだ画面の四半期として表示されています。
(0.5、0.5)にシーンの 'anchorPoint'を設定してみてくださいと設定' backgroundNode.position = CGPoint.zero ' – 0x141E