Swift 如何子类化SKnode以创建具有多个独立';车道';?
我正在建造,每条车道都应该有自己相同的坐标系统和逻辑 将SKNode子类化并将其添加到SKScene的正确方法是什么Swift 如何子类化SKnode以创建具有多个独立';车道';?,swift,xcode,sprite-kit,Swift,Xcode,Sprite Kit,我正在建造,每条车道都应该有自己相同的坐标系统和逻辑 将SKNode子类化并将其添加到SKScene的正确方法是什么 车道间距和高度将根据屏幕尺寸调整, 这完全取决于四条不同车道之间的差异程度。当我说差异时,我的意思是他们需要不同的存储属性吗?每条车道将有多少独特的方法。无论哪种方法,创建一个基类lane继承自SKNode,brain storm,并考虑所有的属性和方法,这些属性和方法将在所有lane中通用,并将它们添加到这个类中。完成后,您可能会发现不需要对该类型进行子类化。无论哪种方式,您都
车道间距和高度将根据屏幕尺寸调整, 这完全取决于四条不同车道之间的差异程度。当我说差异时,我的意思是他们需要不同的存储属性吗?每条车道将有多少独特的方法。无论哪种方法,创建一个基类lane继承自SKNode,brain storm,并考虑所有的属性和方法,这些属性和方法将在所有lane中通用,并将它们添加到这个类中。完成后,您可能会发现不需要对该类型进行子类化。无论哪种方式,您都可以在以后的时间点继承此类型,因为您的范围会扩展,并且您会发现您已经定义了各个车道的行为 一旦拥有了基类类型,就可以将该类的4个实例添加到场景中 或者,如果您选择,您可以添加2个基类类型,并说是从基类继承的2个类型 好的,那么您创建一个新的.swift(我假设您使用swift)删除其中任何不是注释的内容,然后为基类编写
import SpriteKit
class ______: SKNode {
init() {
super.init()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
public func update() {
}
public func updateDidEnd() {
}
deinit {
print("DEBUG: ________: deinit")
}
}
这是我在对SKNode进行分类时使用的最接近锅炉板的地方。在它给出的地方,只需添加类的名称
当您想从这个类中创建子类时,只需执行相同的操作,但将第二行的SKNode替换为您指定给基类的任何名称。你可以随心所欲地继续这样做
请特别关注封装,以确定首先要在其中放入什么。当子类化时,考虑多态性需要一点时间来适应,但一旦单击它,编写代码就会更快
您有很多选择我不知道的部分是如何在体系结构上将这些子类放在单独的文件中,然后将它们作为属性添加到我的场景文件中