因此,在watchOS 3.0中,您现在可以获得数字表冠的旋转.我设法在InterfaceController中使用
crownDidRotate功能.
但是我无法从SKScene Class中获得表冠的旋转.
任何人都可以帮我这个我现在很迷茫吗?
谢谢.
但是我无法从SKScene Class中获得表冠的旋转.
任何人都可以帮我这个我现在很迷茫吗?
谢谢.
解决方法
要在接口控制器中获取这些crown dcRotate调用,必须在接口控制器中采用
WKCrownDelegate
协议,并将接口控制器设置为其crown序器的
delegate
.
要在其他类中获取crown dcRotate调用,请在该类中采用WKCrownDelegate
协议,并将该类的实例设置为接口控制器的crownSequencer的delegate
.
大概你已经有了这样的代码来设置你的SpriteKit场景:
class InterfaceController: WKInterfaceController { @IBOutlet var spriteGizmo: WKInterfaceSKScene! override func awake(withContext context: AnyObject?) { super.awake(withContext: context) let scene = MyScene(fileNamed: "MyScene") spriteGizmo.presentScene(MyScene(fileNamed: "MyScene")) } }
如果您在MyScene类中声明了WKCrownDelegate
一致性,只需添加一行以将其设置为接口控制器的冠序器的委托:
let scene = MyScene(fileNamed: "MyScene") spriteGizmo.presentScene(MyScene(fileNamed: "MyScene")) crownSequencer.delegate = scene
(或者,您可以在Storyboard中设置WKInterfaceSKScene的场景.在这种情况下,您仍然可以使用IBOutlet从接口控制器中引用WKInterfaceSKScene.然后在唤醒(withContext :)中,您可以通过该插座访问场景并设置它作为皇冠代表.)