【问题标题】:iOS SpriteKit node positioniOS SpriteKit 节点位置
【发布时间】:2014-11-10 21:45:58
【问题描述】:

我是 Sprite 套件的新手,我想在场景中添加一些节点。 我的问题是职位:

如果我说:

SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"Poligon"];
sprite.xScale = 0.5;
sprite.yScale = 0.5;
sprite.position = CGPointMake(40, 400);

当 iPhone 处于横向模式时,它看起来不错,但当它处于纵向模式时,它会从屏幕上消失。

我的猜测是它从横向获取坐标并将其放在屏幕的右侧。这可以解释为什么节点在纵向模式下不可见。

我的问题是如何设置 iPhone 默认采用纵向模式?

【问题讨论】:

  • 不,不是:D 我的应用程序以纵向模式启动,但坐标系设置为运行横向模式。
  • "我的问题是如何设置 iPhone 默认采用纵向模式?"该线程回答了这个问题。我认为你需要重新表述你的确切意思。
  • 你必须阅读整个问题,而不仅仅是最后一行:D 我在ymc.ch/en/ios-7-sprite-kit-setting-up-correct-scene-dimensions找到了对我有帮助的问题
  • 您的问题详细说明了当设备处于横向时您如何遇到坐标问题,然后您询问如何使其默认为纵向。你能理解为什么这是模棱两可的吗?

标签: ios position sprite-kit landscape-portrait


【解决方案1】:

显然精灵小子以横向模式启动并在考虑旋转之前启动 viewDidLoad。因此,即使您将方向设置为纵向,纵向模式下的坐标系也会发生偏移。

解决方法:

http://www.ymc.ch/en/ios-7-sprite-kit-setting-up-correct-scene-dimensions

是不是在 viewDidLoad 上设置你的场景,而是在

- (void)viewWillLayoutSubviews

这是在设置方向后运行的,它可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多