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/

相关文章:

swift - 如何自定义 PFSignUpViewController 的外观

ios - "Realm accessed from incorrect thread"在收到 HTTP 响应后更改对象

css - div 的背景图像显示不正确

html - 背景位置动画运行不流畅

css - 您如何使用窗口调整背景图像的大小

swift - 如何在 swift 中向数组添加 pop() 扩展?

ios - Swift - reloadData UITableView 进入前台

ios - 减少 SKAction 循环中的 waitForDelay

ios - SKSpriteNode的 Sprite 只有在iPhone 7 Plus真机上模糊

ios - 如何设置SKSpriteNode的最小碰撞角度