当前位置: 首页 > 面试题库 >

Xcode 6 / SpriteKit / Swift中的场景大小

红智鑫
2023-03-14
问题内容

我一直被困在Xcode中应该做的非常简单的事情上,我试图在场景中添加一个精灵,并将其放置在左下角:

var groundTexture : SKTexture = SKTexture(imageNamed: "dirt-block")    
var ground : SKSpriteNode = SKSpriteNode(texture: groundTexture)
ground.position = CGPointMake(ground.size.width/2, ground.size.height/2)
self.addChild(ground)

它什么都没显示,所以我看了看场景尺寸是什么,self.frame.size.width和self.frame.size.height返回的宽度为1024,高度为768,与方向无关。

我希望以横向模式解决此问题,如果这对答案有什么影响?

显然,我缺少一个与场景设置有关的非常基本的想法,如果有人可以提供任何帮助,将不胜感激。

谢谢。


问题答案:

您必须编辑GameViewController:

切一切从viewDidLoad()super.viewDidLoad()

覆写 viewWillLayoutSubviews

override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()

    if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
        // Configure the view.
        var skView = self.view as SKView
        skView.showsFPS = true
        skView.showsNodeCount = true

        /* Sprite Kit applies additional optimizations to improve rendering performance */
        skView.ignoresSiblingOrder = true

        /* Set the scale mode to scale to fit the window */
        scene.size = skView.bounds.size
        scene.scaleMode = .AspectFill

        skView.presentScene(scene)
    }
}

您还应该设置场景大小,如您所见

scene.size = skView.bounds.size

希望这可以帮助

还有一个很棒的教程,对它进行了更好的解释:http : //www.raywenderlich.com/49721/how-to-
create-a-breakout-game-using-
spritekit

(第1章或第2章)



 类似资料:
  • 有没有可能用gherkin写一个场景大纲,其中有一个断言步骤,而不是在所有的例子中都需要? null 有没有更好的写法?

  • Swift-SpriteKit-Analog-Stick 虚拟操纵杆 (Swift+Sprite Kit)。

  • 问题内容: 在Objective-C中,使用Sprite-Kit,我将在Objective-C中 成功 使用类似以下代码的内容来展示新场景 在尝试将我的简单游戏移植到Swift时,到目前为止,我已经完成了这项工作… 但是我不知道要写什么代码才能真正过渡到另一个场景。问题: 有人可以提供在Swift中使用SKTransition的示例吗? 假设您将使用Objective-C,通常是否会创建另一个“文

  • 问题内容: 我正在迅速进行一个项目,并且能够制作精灵。我试图在许多不同的地方制作精灵。作为测试,我将游戏场景中的代码替换为: 我不明白的是,这段代码在左下角产生了一个精灵。正如预期的那样,在y方向上仅显示了一半的精灵,但是x方向似乎完全偏离了。如果我尝试将x值设置为289以下的任何数字,它将不会出现。0,0点真的是289,0还是我缺少什么?我正在为iPhone 6编程,如果有所作为。 谢谢! 问题

  • 问题内容: 我一直在尝试将Obj-C库移植到Swift,但是遇到了一个问题,当Swift代码在项目中时,链接器无法构建静态库。 作为最小的复制者,请进入XCode6并创建一个新的iOS静态库。它会为您提供一个带有空白.h和.m文件的项目。这样可以编译良好。然后,将新的.swift文件添加到项目中(无论是否创建标题桥)。这也 应该 编译良好,但是在链接期间失败: 如果我瞄准模拟器或设备,则会发生这种

  • 问题内容: 我有一个使用javafx Scene来渲染某些东西的应用程序,并且我想将该渲染结果放入我在Javafx中创建的某些GUI中。我该怎么做? 基本上,有一些容器可以放入场景,然后将其放入GUI。 抱歉,如果是新手问题,我是JavaFX的新手 问题答案: 该场景只有一个顶级父节点作为根。您可以获取它并放入另一个场景。