在 watchOS 3 中提取纹理

Extracting a texture in watchOS 3

我在 GameScene.swift

中使用 iOS 10.0 中的以下代码
    //Shape storage
    let playerShape = SKShapeNode(circleOfRadius: 10 )

...颜色设置等

    //Get the texture from shape node
    let playerTexture = view?.texture(from: playerShape)

相同的代码在 watchOS 3.0 中不起作用 Xcode 8.0 beta 2 关于视图的投诉:

Use of unresolved identifier 'view'

有谁知道 watchOS 中视图的等价物是什么?

谢谢。

如上所述,Apple Watch 的 Sprite Kit 中没有视图。 这就是为什么您无法在代码中使用视图的原因。

如果你想要其他东西的纹理,只需使用 SKSpriteNode 并执行类似的操作。

例如这里我想在圆圈 2

上使用我的 circleOriginal 纹理
  let circleOriginal = SKSpriteNode(imageNamed: "circle")
  let circleTexture = circleOriginal.texture

  let circle2 = SKSpriteNode(texture: circleTexture)

如果您想全面了解 Apple Watch 游戏技术,请查看 Apple 的 WWDC 讲座(下面的幻灯片来自那里)。这解释了很多并提供了很好的代码示例。

https://developer.apple.com/videos/play/wwdc2016/612/

以下是主要区别。

这是 Apple 的非 watchOS 场景图

这里是 Apple 的 Scene Graph 对应 watchOS 的 Scene Graph

以下是 watchOS 的 SpriteKit / SceneKit 的推荐替代品