我目前正在使用Swift / SpriteKit进行游戏,但我遇到了问题。每当我为我的游戏制作边框时,边框总是在iPhone / iPad FRAME周围,而不是屏幕。因此,当我的球反弹时,它会离开屏幕并从“iPhone FRAME”而不是“场景/框架”反弹。
有人可以帮助我做到这一点,所以我的边界是SCENE而不是FRAME吗?
这是我的代码:
let borderBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
borderBody.friction = 0
self.physicsBody = borderBody
答案 0 :(得分:1)
我应该说(在评论中)你应该设置场景的大小以匹配视图的大小,如下所示:在GameViewController.swift中
override func viewDidLoad() {
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
scene.size = skView.bounds.size
skView.presentScene(scene)
}
}
请注意scene.size = skView.bounds.size
将场景的大小设置为视图的大小。