我有以下代码行,您可以在下面看到:
Enemy.physicsBody = SKPhysicsBody(texture: player.texture, size: player.size)
当我尝试运行此代码时,我收到以下错误:
Value of optional type 'SKTexture ?' not unwrapped; did you mean to use '!' or '?'
有人可以告诉我我做错了什么!
答案 0 :(得分:1)
init方法SKPhysicsBody(texture: player.texture, size: player.size)
采用SKTexture
实例,而不是您提供的Optional<SKTexture>
(aka。SKTexture?
)实例。所以player.texture
需要解开。
假设您知道自己已经正确加载了纹理且不是nil
:
Enemy.physicsBody = SKPhysicsBody(texture: player.texture!, size: player.size)
或者安全地解开纹理:
if let texture = player.texture {
Enemy.physicsBody = SKPhysicsBody(texture: texture, size: player.size)
}