首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的节点在每个设备上的位置都不同?

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

Stack Overflow用户
提问于 2017-07-01 07:37:05
回答 1查看 171关注 0票数 4

好吧,我一直在尝试在我的iPhone 6s+和iPad 2上定位一行。这行是在SKCamera中添加的(我不知道这是否会影响它)。下面是这行的代码:

代码语言:javascript
复制
    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上的样子:

我就是不明白为什么这条线的位置完全不同。请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2017-07-01 13:11:32

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44856019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档