我想使用我的自定义SKNode子类创建一个级别.我尝试将SKNode添加到场景编辑器中,并使用“自定义类”选项卡给出我想要它的类,但绝对没有.该节点仍然是空的,当我运行模拟器时没有任何显示.此外,为了确保该类实际工作,我以编程方式将它的一个实例添加到场景中,以查看它是否显示.
如何通过场景编辑器将自定义节点添加到场景中?
这是我的自定义类代码:
class Player: SKSpriteNode { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) print("Test") self.addChild(SKSpriteNode(imageNamed: "Player.png")) } }
解决方法
您需要做两件事:
1)设置自定义类时,必须在类名前加上应用程序的名称;例如,My_App_Name.MyClass,其中_表示空格.
2)您的SKNode子类需要实现所需的init?(编码器aDecoder:NSCoder).
例如,在我的名为“MyGame”的项目中:
class MyNode: SKSpriteNode { // Set this after the node has been initaliser by init(coder:) var someStat: Int = 0 required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) // To check it worked: print("Yup,all working") } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。