xcode – 在spritekit场景编辑器中使用自定义SKNode

我想使用我的自定义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")
    }
}

相关文章

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