【问题标题】:Make SKScene fill whole screen using Swift使用 Swift 使 SKScene 填满整个屏幕
【发布时间】:2014-09-19 11:55:06
【问题描述】:

我在GameViewController.swift中有以下内容

class GameViewController: UIViewController {

    override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        println(self.view.frame.size)
        var skView:SKView = self.view as SKView
        if skView.scene == nil {
            skView.showsFPS = false
            skView.showsNodeCount = false

            // Create and configure the scene.
            var scene : SKScene = GameScene(size: skView.bounds.size)
            scene.scaleMode = SKSceneScaleMode.AspectFill

            // Present the scene.
            skView.presentScene(scene)
        }
    }

    override func prefersStatusBarHidden() -> Bool {
        return true
    }
}

打印出来:

(320.0,480.0)

如何让GameScene填满整个屏幕,而不是在屏幕的顶部和底部留下黑带?

GameScene.swift中的代码

class GameScene: SKScene {
    override func didMoveToView(view: SKView) {
        /* Setup your scene here */
        var background : SKSpriteNode = SKSpriteNode (imageNamed: "background.png")
        background.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2)
        self.addChild(background)
    }
}

background.png 是大小为640x1138 的图像

部署目标是iOS 7.1

我使用的是 Xcode 6.0.1(测试版)

【问题讨论】:

  • 你已经解决了吗?
  • 是的@MarkusRautopuro,我在下面回答了我的问题

标签: ios swift sprite-kit skscene


【解决方案1】:
  1. 添加启动屏幕:

新建文件 - iOS - 用户界面 - 启动屏幕

  1. 将新启动屏幕的名称设置为:

项目 - 常规 - 启动屏幕文件

  1. 在 GameViewController 集合中

sceneNode.scaleMode = .resizeFill

【讨论】:

  • 您能解释一下为什么添加启动屏幕会修复整个应用的内容填充问题吗?
【解决方案2】:

我不得不在Images.xcassets 中手动添加一个名为LauchImage 的图像集。

【讨论】:

  • 这看起来就像您刚刚将文件添加到项目文件夹并解决了问题。我有同样的问题并设法通过在另一个视图中添加一个按钮来解决它(绝对不知道为什么会这样)但我希望有一个更好的解决方案,因为我不需要这个按钮。
【解决方案3】:

您需要调整背景节点的大小以匹配场景。

background.size = self.frame.size

【讨论】:

  • sceneGameViewController.swift 中的一个变量,backgroundGameScene.swift
【解决方案4】:

首先进入你的 Xcode 项目

点击.xcodeproj文件

然后在部署信息下应该有一个复选框,说需要全屏检查,然后应该使用整个屏幕!

编辑

您还必须分配一个启动屏幕,因为它对我来说暂时是全屏的,但一旦我删除启动屏幕就停止了,您可以在它所在的部署信息下分配它

应用图标和启动图像

即使你没有创建一个 Xcode 通常会在你第一次创建项目时为你创建一个,它应该在名称“main”下

【讨论】:

    猜你喜欢
    • 2013-10-31
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多