gpt4 book ai didi

swift - 为什么我的 SKSpriteNodes 不会出现在场景中?

转载 作者:搜寻专家 更新时间:2023-11-01 05:48:13 25 4
gpt4 key购买 nike

我正在尝试向场景中添加几个节点。当我运行该应用程序时,我只有默认的灰色背景。两个节点都没有出现在场景中。这是我所拥有的:

class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */

let jumper = SKSpriteNode(imageNamed:"Jumper")
jumper.xScale = 0.25
jumper.yScale = 0.25
jumper.position = CGPointMake(50, 300)

self.addChild(jumper)

let blob = SKSpriteNode(imageNamed:"Blob")
blob.position = CGPointMake(160, 30)
blob.xScale = 0.5
blob.yScale = 0.25

self.addChild(blob)
}

我检查了图片标题,那里的一切都是正确的。

最佳答案

问题

您的 Sprite 不可见,因为您的场景不完全在模拟器的窗口内。默认情况下,场景大小为 1024 x 768(由 GameScene.sks 指定),而模拟器仅显示 375 x 667 点(如果您选择 iPhone 6/6s 模拟器)。除非场景大小设置正确,否则模拟器窗口的左下角不会是场景的 (0,0) 位置。

要更正此问题,

方法一:

更改 GameScene.sks 中场景的大小属性以匹配 View 的大小。我建议您将场景大小设置为 375 x 667 (iPhone 6/6s)。如果这样做并将场景的 scaleMode 属性设置为 .AspectFill(默认值),SpriteKit 将自动缩放场景以适应 iPhone 6+ 的 View , 6s+、5 和 5s。这将节省您将游戏移植到这些设备上的时间。

方法二:在你的 View Controller 中,替换这个

scene.scaleMode = .AspectFill

有了这个

scene.scaleMode = .ResizeFill

警告:使用此方法可行,但可能需要额外努力才能将您的游戏移植到屏幕尺寸不同的其他 iOS 设备。

关于swift - 为什么我的 SKSpriteNodes 不会出现在场景中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com