Sprite kit 按顺序运行函数
我正在尝试制作一个延迟3秒后开始的游戏。因此,我尝试添加一个序列,以便在延迟后按序列调用startGame函数。然后,我可以在开始时包含延迟的情况下调用该函数,但是当我尝试在第二个函数的末尾运行序列时,我不断得到一个错误 我有开始游戏的功能:Sprite kit 按顺序运行函数,sprite-kit,Sprite Kit,我正在尝试制作一个延迟3秒后开始的游戏。因此,我尝试添加一个序列,以便在延迟后按序列调用startGame函数。然后,我可以在开始时包含延迟的情况下调用该函数,但是当我尝试在第二个函数的末尾运行序列时,我不断得到一个错误 我有开始游戏的功能: func startGame(){ let spawn = SKAction.run(createEnemy) let wait = SKAction.wait(forDuration: 2) let spawnSequence
func startGame(){
let spawn = SKAction.run(createEnemy)
let wait = SKAction.wait(forDuration: 2)
let spawnSequence = SKAction.sequence([wait, spawn])
let spawnForever = SKAction.repeatForever(spawnSequence)
self.run(spawnForever)
}
然后我有另一个函数,在序列中使用这个函数来增加延迟
func beginGame(){
let countdown = SKAction.wait(forDuration: 3)
let startGame = SKAction.run(self.startGame)
let startSequence = SKAction.sequence([countdown, startGame])
**self.beginGame().run(startSequence)**
}
然后,在调用beginGame()函数的同时,调用setup函数。以及最后的设置功能
scene.setup()
scene.beginGame()
我得到一个“元组值'()”没有成员“run”
对不起,这个愚蠢的问题,我是swift的初学者。试试看
let spawn = SKAction.run { self.createEnemy() }
及
运行块是一个闭包,因此可能需要括号
试试这个
func startGame() -> SKAction {
let spawn = SKAction.run { self.hello() }
let wait = SKAction.wait(forDuration: 2)
let spawnSequence = SKAction.sequence([wait, spawn])
let spawnForever = SKAction.repeatForever(spawnSequence)
return spawnForever
}
func beginGame() {
let countdown = SKAction.wait(forDuration: 3)
let startGame = self.startGame()
let startSequence = SKAction.sequence([countdown, startGame])
}
self.beginGame()
试一试
及
运行块是一个闭包,因此可能需要括号
试试这个
func startGame() -> SKAction {
let spawn = SKAction.run { self.hello() }
let wait = SKAction.wait(forDuration: 2)
let spawnSequence = SKAction.sequence([wait, spawn])
let spawnForever = SKAction.repeatForever(spawnSequence)
return spawnForever
}
func beginGame() {
let countdown = SKAction.wait(forDuration: 3)
let startGame = self.startGame()
let startSequence = SKAction.sequence([countdown, startGame])
}
self.beginGame()
SKActions应该在节点上运行。你的代码行
self.beginGame().run(startSequence)
似乎正在尝试在函数beginGame()
上运行序列。因为没有定义返回类型的beginGame()
据
没有定义返回类型的函数返回类型为的特殊值
无效的这只是一个空的元组,写为()
正如编译器告诉您的,您不能在元组上使用
run
。SKActions应该在节点上运行。你的代码行
self.beginGame().run(startSequence)
似乎正在尝试在函数beginGame()
上运行序列。因为没有定义返回类型的beginGame()
据
没有定义返回类型的函数返回类型为的特殊值
无效的这只是一个空的元组,写为()
正如编译器告诉您的,您不能对元组使用
run
。我对它进行了一点更改,从StartGame()返回一个SKAction