我是Swift和SpriteKit的新手。我正在尝试为iPhone X开发一个简单的2D游戏,所以我想画一个可以放置游戏小精灵的可玩区域。问题是,当我绘制矩形时,它适合屏幕宽度,但不适合屏幕高度。
GameScene大小为2048x1536,锚点为(0.5,0.5)。 默认的屏幕方向是横向。
这是我目前所做的:
GameViewController.swift
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = SKScene(fileNamed: "GameScene") {
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill
// Present the scene
view.presentScene(scene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
}
GameScene.swift
class GameScene: SKScene {
override func didMove(to view: SKView) {
let rectangle = SKShapeNode(rect: self.frame)
rectangle.strokeColor = .green
rectangle.lineWidth = 20
rectangle.zPosition = 1
addChild(rectangle)
}
}
运行此代码时,绿色的矩形边框适合屏幕的宽度(横向),因此我可以看到它们,但顶部和底部边框不在屏幕上。
我的目的是要拥有一个与电话屏幕一样高的可播放矩形,并且他的宽度应为屏幕宽度-左安全区域插图(将凹口从可播放区域中排除)。
谢谢。