swift - gamescene.swift 中的背景图像

标签 swift sprite-kit background-image

我需要编写什么代码才能将图像(已在 asset.xcassets 中)显示为 GameScene.swift 的背景?

最佳答案

首先,您可以使用scaleMode .resizeFill调用场景,修改SKScene的实际大小以与SKView完全匹配:

scene.scaleMode = .resizeFill

.resizeFill – 场景未缩放。它只是简单地调整大小以适合 View 。由于场景未缩放,因此图像将全部保持其原始尺寸和纵横比。内容将全部保持相对于场景原点(左下)。

默认情况下,场景的原点位于 View 的左下角。因此,场景初始化时高度为 1024,宽度为 768,原点 (0,0) 位于左下角,坐标 (1024,768) 位于右上角。框架属性保持(0,0)-(1024,768)。 anchor 的默认值为CGPointZero(因此您不需要更改它),这会将其放置在较低的位置-左角。

最后,您可以使用下面的代码添加背景图像(名为 bg.jpg):

// Set background
let txt = SKTexture(imageNamed: "bg.jpg")
let backgroundNode = SKSpriteNode(texture: txt, size:size)
self.addChild(backgroundNode)
backgroundNode.position = CGPoint(x: self.frame.midX, y: self.frame.midY)

关于swift - gamescene.swift 中的背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41077958/

相关文章:

css - 背景图像以及 CSS3 渐变

html - CSS 显示调整大小和裁剪的图像

html - 如何同时拥有背景渐变和背景图片?

ios - Swift - 此服务器的证书无效

swift - 字典错误顺序 - JSON

ios - 我似乎无法让物理机构在 Playground 内工作

swift - for循环不按顺序执行代码(swift + spritekit)

ios - UINavigationController topViewController 未显示

ios - 使用 Xcode 9 和 AES 解密的 CryptoSwift

swift - 停止并从 View 中删除 SKScene