我有这个游戏在风景中我需要在整个屏幕周围的边框,所以我的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
}
答案 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))