swift - SpriteKit - 来自加载的 SKScene 的 SKShapeNode 未呈现
问题描述
我正在从文件中加载 SKScene。其中,我可以在屏幕上看到一个 SKShapeNode。但是如果将“自定义类”设置为像下面的TestNode这样的类,ShapeNode将不会被渲染:使用编码器和调试实现init,我可以看到.scene是nil,即使在Xcode的“属性编辑器”中也是如此,父级设置为场景。我什至可以获取我在节点上设置的 userData。该节点以 isPaused = true 启动,将其设置为 false 无济于事。
public class TestNode: SKNode {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
知道为什么 .scene 属性为零吗?
解决方案
事实证明,自定义类必须与场景编辑器中添加的节点完全相同。
因此,如果您在场景(.sks 文件)中有一个 SKSpriteNode 并设置其自定义类属性,则该自定义类也必须是一个 SKSpriteNode,它不能只是一个 SKNode。
推荐阅读
- android - Flutter:错误:内部服务器错误,代码 500
- javascript - 在 JavaScript 中将字符串转换为正则表达式
- sql - 插入各种值
- excel - 在 Excel 中复制/粘贴屏幕截图运行时错误 91 vba
- amazon-cloudformation - cloudformation 堆栈使用的 IAM 角色
- android - 从高层次来看,实现从数据库读取锻炼的健身应用程序的最佳方式是什么?
- javascript - 计数器适用于第 1 个帖子,但不适用于第 2 个帖子
- python-3.x - 写出值以在 python 和 lua 脚本之间进行管道传输
- css - 为什么只有某些字体真棒图标通过 css 出现?
- hyperledger-fabric - Hyperledger Composer 如何增加执行超时