gpt4 book ai didi

ios - 在 gamekit 中解包 Optional 值时意外发现 nil

转载 作者:行者123 更新时间:2023-11-28 12:17:06 24 4
gpt4 key购买 nike

我只是简单地尝试使用 SKEmitterNode 和 SKSpriteNode但是我在代码的第二行出现错误

startfield.position = CGPoint.init(x:0,y:1200)

错误就像

"fatal error: unexpectedly found nil while unwrapping an Optional value"

得到2次还有这一次

"does not have sandbox access for frZQaeyWLUvLjeuEK43hmg and IS NOT appropriately entitled"

我不明白可选的概念,因此我无法解决它..

class GameScene: SKScene {

var startfield : SKEmitterNode!
var player : SKSpriteNode!

override func didMove(to view: SKView) {
startfield = SKEmitterNode(fileNamed: "Starfield")
startfield.position = CGPoint.init(x: 0, y: 1200)
startfield.advanceSimulationTime(10)
self.addChild(startfield)
startfield.zPosition = -1
//define Player
player = SKSpriteNode(imageNamed: "shuttle")
player.position = CGPoint(x: self.frame.width/2, y: player.size.height/2 + 20)
self.addChild(player)
}

override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
}
}

最佳答案

重新声明您的 starfield 变量(错误输入为 startfield?),使其允许 nil 值:

var starfield: SKEmitterNode?

这是必要的,因为 SKEmitterNode(fileNamed:) 是一个可选的初始化程序,即。 e.一个可能返回 nil 的。在进一步使用此变量之前测试是否为零,例如。 G。使用 guard 语句:

guard let starfield = starfield else { return }

对于您的函数 starfield 的其余部分现在是非零的。

关于ios - 在 gamekit 中解包 Optional 值时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46077106/

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