如果每个ball
精灵必须的孩子ballS
节点,那么你可以做到以下几点。
定义球的属性(在class
定义后,即而在此之前的任何功能)
let balls = SKNode()
在
didMove(to:)
,添加ballS
节点:
addChild(ballS)
创建addBall
功能:(唐” t叫它createBall
除非它确实创造了球)
func addBall(withZPosition zPos: Int) {
let newBall = SKSpriteNode(imageNamed: "Ball")
newBall.zPosition = zPos
ballS.addChild(newBall)
}
然后只需拨打addBall(withZPosition:)
创建并添加一个新球:
addBall(withZPosition: 2)
如果要对创建的球更多的控制(例如,你想将它添加到场景)之前改变一些它的属性,你可以做一个createBall
功能,创建一个新的球,并返回新节点:
func createBall(withZPosition zPos: Int) -> SKSpriteNode {
let newBall = SKSpriteNode(imageNamed: "Ball")
newBall.zPosition = zPos
return newBall
}
,并以此作为如下:
let newBall = createBall(withZPosition: 2)
newBall.size = CGSize(x: 50, y:50)
ballS,addchild(newBall)
是不是只是继承SKSpriteNode的问题? –
什么是“自我”? –
我更喜欢不创建子类 - 而自己是类GameScene - 也只是决定在类中添加一个int,并添加了一些像'if counter == 2 {saw.zPosition = 1} else {saw.zPosition = 2}' –