【问题标题】:How to position background image in Sprite Kit? Did something change?如何在 Sprite Kit 中定位背景图像?有什么改变吗?
【发布时间】:2014-12-02 17:44:38
【问题描述】:

我尝试添加背景图像 1242 × 2208 但是当我在模拟器中运行它时,我发现该图片没有覆盖整个视图。我知道我可以在以前的 xcode 中使用以下代码做到这一点:

SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"background"];
sprite.position = CGPointMake(self.size.width/2, self.size.height/2);
[self addChild:sprite];

谁能告诉我我在这里缺少什么。谢谢

这也不起作用:

sprite.position = CGPointMake(CGRectGetMidX(self.frame),
                              CGRectGetMidY(self.frame));

【问题讨论】:

  • 检查场景的 scaleMode 属性,它可能设置为宽高比合适
  • nope scene.scaleMode = SKSceneScaleModeAspectFill;
  • 设置scene.scaleMode = SKSceneScaleModeResizeFit; 另外,试试sprite.position = CGPointZero;sprite.anchorPoint = CGPointZero;
  • 感谢您对此进行调查。我尝试了你建议的一切,但没有奏效。我添加了一个屏幕截图,以便您查看问题所在。如果你打开 xcode -game -sprite kit -objective c 并添加一个图像 1242 × 2208 运行它,你会看到我在挣扎。
  • 抱歉,缩放模式应该是 resize fill not fit: scene.scaleMode = SKSceneScaleModeResizeFill; 这应该可以解决问题。顺便说一句,iPhone 6 的视图大小只有 375 x 667,所以只有一部分图像是可见的。

标签: ios objective-c sprite-kit xcode6


【解决方案1】:

我可以想象精灵的锚点不正确。这可以解释为什么它没有覆盖整个视图。

【讨论】:

  • 我不必在 xcode 5 中放置锚点来正确定位它,但是当我添加锚点时它搞砸了。它会离开屏幕,或者如果我更改 ScaleMode,我可以看到一半的图像。
猜你喜欢
  • 2015-09-27
  • 2013-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-28
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多