ios - SpriteKit 背景不适合 iPhone 6 plus 上的屏幕

标签 ios sprite-kit iphone-6-plus

我使用缩放模式填充来加载背景尺寸为 640x1136 的场景,如下所示:

SKView * skView = (SKView *)self.view;
skView.ignoresSiblingOrder = YES;

MainMenu *scene = [MainMenu sceneWithSize: self.view.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;

[skView presentScene:scene];

然后我在屏幕内加载背景:

    SKSpriteNode *menuBg = [SKSpriteNode spriteNodeWithImageNamed:@"mainBg"];
    menuBg.anchorPoint = CGPointZero;
    menuBg.position = CGPointZero;
    [self addChild:menuBg];

我预计背景会填满屏幕,但它不会调整大小以填满屏幕。我只持有@2x 背景图像 - 我做错了什么?

最佳答案

您没有将节点放置在场景的中心,因此它无法使用长宽比填充缩放模式正确缩放。

试试这个:

menuBg.anchorPoint = CGPointMake(0.5, 0.5);
menuBg.position = CGPointMake(self.size.width/2, self.size.height/2)

它将 anchor 设置为节点的中心,并将节点定位在场景的中心。

关于ios - SpriteKit 背景不适合 iPhone 6 plus 上的屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32033942/

相关文章:

iphone - 阵列清理方法错误

ios - Iphone 6 和 6+ 中带有自定义覆盖的 imagePicker 预览模式全屏

iPhone 6/6 Plus 上的 iOS 8 键盘布局

ios - 滚动到 CollectionView 底部时,Collection View Cell 会无意中调整大小

ios - 在 iOS 11.2.2 上隐藏后退按钮

ios - 是什么导致我的 SKAction 计时器表现异常?

ios - 在 iOS 8 的 SpriteKit 中使用 xScale 翻转 Sprite 不会翻转 SKPhysicsBody

ios - SCNNode 渲染上的奇怪错误/伪影

ipad - 告诉 MPMoviePlayerViewController 中加载的视频停止播放

ios - 无法调用 Spritekit 的 update() 函数中的函数