使用我自己的替代图像来访问 Xcode 7 Swift 2 项目中的"SpriteKit with Swift"教程中的图像



我对编程相当陌生,因此仍处于编码的后续教程阶段。具体来说,我最近的工作是"SpriteKit with Swift"(不得不删除这个链接,因为我没有10个声誉)无论如何,我的问题在于图像。我一直在按照教程做其他所有事情,但我想将自己的图像用于 SpriteNodes,而不是卫星和小行星。此外,我想将特定图像设置为背景,但每次我这样做时,我都会在模拟器中看到该图像。我只是不想逐字逐句地制作游戏;我想要我自己的转折。

我在 Xcode 7 中使用 Swift 2

提前致谢

这是我在后台播放时出现的内容这就是我的游戏场景的样子

使用堆栈溢出时,始终尝试发布代码。我不是 100% 确定这就是你要问的,但我会试一试。

默认情况下,精灵套件优化了添加精灵的方式。

skView.ignoresSiblingOrder = true // in gameViewController

这很可能保持不变,因为它优化了 SpriteKits 的性能。这基本上意味着精灵并不总是按照您将它们添加到场景中的顺序添加到 SKScene 中。

在具有定义顺序的场景中分层多个图像时,您需要开始使用 zPosition。

要添加背景,您需要这样做

let background = SKSpriteNode(imageNamed: "image name in asset catalogue"
background.zPosition = 1 // 1st layer
background.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
addChild(background)

要在背景顶部添加精灵,您需要这样做

let sprite1 = SKSpriteNode(imageNamed: "image name in asset catalogue"
sprite1.zPosition = 2 // above background
sprite1.position = ...
addChild(sprite1)
let sprite2 = SKSpriteNode(imageNamed: "image name in asset catalogue"
sprite2.zPosition = 2 // if 3 also above sprite 1
sprite2.position = ...
addChild(sprite2)

我认为这就是导致您的问题的原因,您正在添加背景,但之后的精灵不可见,因为它们位于背景下方。

最新更新