如何在Swift Xcode中为所有设备围绕我的整个屏幕制作边框?

时间:2015-06-13 03:17:22

标签: ios xcode swift sprite-kit

我有这个游戏在风景中我需要在整个屏幕周围的边框,所以我的heroNode无法从四个方面中的任何一个出去。我有这个代码,但它只适用于iPhone 5s,而且对于其他设备来说太小了。如何让代码调整大小并适合其他设备的屏幕?谢谢!

        override func didMoveToView(view: SKView) {
    let borderBody = SKPhysicsBody(edgeLoopFromRect: CGRect(x: 20, y: -90, width: self.size.width-50, height: self.size.height))
    borderBody.categoryBitMask = borderbodycategory
    borderBody.collisionBitMask = HeroCategory
    borderBody.contactTestBitMask = HeroCategory
    borderBody.allowsRotation = false
    borderBody.affectedByGravity = false
    self.physicsBody = borderBody

    }

3 个答案:

答案 0 :(得分:5)

self.physicsBody = SKPhysicsBody (edgeLoopFromRect: self.frame)

这为你的“世界”提供了一个物理实体,它是一个边缘,一个环,是“世界”框架的大小。

答案 1 :(得分:2)

不使用宽度的固定值,而是使用百分比值,以便根据屏幕尺寸进行缩放。

答案 2 :(得分:2)

您可以使用UIScreen的属性而不是固定值。

let width = UIScreen.mainScreen().bounds.size.width - 50
let height = UIScreen.mainScreen().bounds.size.height - 50
let borderBody = SKPhysicsBody(edgeLoopFromRect: CGRect(x: 20, y: -90, width: width, height: height))