图像纹理中的物理体不起作用

physicsbody from image texture not working

我有以下代码行,您可以在下面看到:

Enemy.physicsBody = SKPhysicsBody(texture: player.texture, size: player.size)

当我尝试 运行 此代码时,出现以下错误:

Value of optional type 'SKTexture ?' not unwrapped; did you mean to use '!' or '?'

谁能告诉我我做错了什么!

init 方法 SKPhysicsBody(texture: player.texture, size: player.size) 采用 SKTexture 实例,而不是您提供的 Optional<SKTexture>(又名 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)
}