sprite-kit – watchOS 3.0在SpriteKit中检测表冠旋转

因此,在watchOS 3.0中,您现在可以获得数字表冠的旋转.我设法在InterfaceController中使用 crownDidRotate功能.
但是我无法从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 :)中,您可以通过该插座访问场景并设置它作为皇冠代表.)

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...