【问题标题】:SKScene vertically squashedSKScene 垂直压扁
【发布时间】:2014-02-01 19:16:37
【问题描述】:

我的 SKScene 被垂直挤压。我添加了一个 SKEmitterNode,但这显然被压扁了,我不知道为什么。

我在另一个场景中有另一个发射器,它没有这样做,所有代码似乎都完全相同。

正常: (http://i.imgur.com/xL7GVvd.png)

压扁: (http://i.imgur.com/O0xMeFC.png)

编辑:

两者的代码相同。

// Configure the view.
SKView * skView = (SKView *)self.view;
// Create and configure the scene.
SKScene * scene = [MyScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
// Present the scene.
[skView presentScene:scene];

【问题讨论】:

  • 你是从Xcode“SpriteKit Game”模板开始的吗?如果是这样,您是否看过 this Ray Wenderlich 教程?向下滚动到开始,这里有一些关于将此代码从 viewDidLoad 移动到 viewWillLayoutSubviews 以确保场景获得正确的边界。
  • 谢谢,这行得通。我使用的是SpriteKit模板,我只是在viewWillLayoutSubviews中创建了场景,问题就消失了。

标签: ios storyboard sprite-kit skscene


【解决方案1】:

您的 scaleMode 属性似乎已关闭。

根据您的要求尝试scene.scaleMode = SKSceneScaleModeAspectFill;scene.scaleMode = SKSceneScaleModeAspectFit;

【讨论】:

  • 试过了,但还是被压扁了。这让我很困惑
  • 嗯,那有点神秘。您能否使用创建这两个场景的代码更新您的问题?
【解决方案2】:

根据 Simon Jenkins 的评论,将布局代码移动到 viewWillLayoutSubviews() 而不是 viewDidLoad() 解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多