gpt4 book ai didi

swift - 为什么我的节点在每个设备上的位置都不同?

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:43 25 4
gpt4 key购买 nike

好的,所以我一直在尝试在我的 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+ 上的样子:iPhone 6s+如您所见,线在中间?

这是它在我的 iPad 2 上的样子:

iPad 2

我只是不明白为什么线的位置完全不同..请帮助我!

最佳答案

您没有考虑 iPad 上发生的裁剪,或者您的 scaleMode 完全错误

你需要做的是将所有节点 anchor (包括场景)设置为(0.5,0.5),确保你的GameScene有一个静态大小而不是基于view.frame(750,1334是一个很好的)并且您的缩放模式设置为 .aspectFill。这使得 (0,0) 成为屏幕的中心,您会注意到所有设备上的所有内容都对齐

关于swift - 为什么我的节点在每个设备上的位置都不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44856019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com