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

时间:2016-03-10 23:21:26

标签: xcode swift skphysicsbody

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

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

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

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

有人可以告诉我我做错了什么!

1 个答案:

答案 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)
}