好的,所以我一直试图在我的iPhone 6s +和我的iPad 2上放置一条线。这条线被添加到SKCamera中(我不知道是否会影响它)。以下是该行的代码:
var leftWall = SKSpriteNode()
leftWall.size = CGSize(width: 1, height: 10000)
leftWall.position = CGPoint(x: 0, y: 0)
leftWall.color = UIColor.red
leftWall.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: leftWall.size.width, height: leftWall.size.height))
leftWall.physicsBody?.affectedByGravity = false
leftWall.physicsBody?.isDynamic = false
leftWall.physicsBody?.categoryBitMask = groundGroup
leftWall.physicsBody?.collisionBitMask = ballGroup
leftWall.physicsBody?.contactTestBitMask = 0
theCamera.addChild(leftWall)
好的,所以x位置是0,0对吗?以下是我在iPhone 6s +上的外观: 如你所见,线在中间?
以下是我在iPad 2上的外观:
我只是不明白为什么线的位置完全不同..请帮助我!
答案 0 :(得分:2)
您没有考虑iPad上发生的裁剪,或者您的scaleMode错误
您需要做的是将所有节点锚点(包括场景)设置为(0.5,0.5),确保您的GameScene具有静态大小而不是基于view.frame(750,1334是一个很好的)并且您的缩放模式设置为.aspectFill。这使得(0,0)成为屏幕的中心,你会注意到所有设备上的所有内容