gpt4 book ai didi

swift - SKAction 的问题

转载 作者:行者123 更新时间:2023-11-30 10:08:38 25 4
gpt4 key购买 nike

顶部功能有效。我有一 block 5 x 5 的板,虽然一个数组包含 100 个,但我需要不断生成 block 以放置在板上。检查最小将棋盘上的最小数字存储为最小,仅使该 block 可单击。我想随着时间的推移生成 block ,第二个函数是我尝试的方法,但只是使应用程序崩溃。

func generateAndCheckBlocks() {

while smallestArr.contains(100){
if placeBlocks() == true {
checkSmallest()
}
}
}

func generateAndCheckBlocks() {

let wait = SKAction.waitForDuration(1)
let run = SKAction.runBlock {
if self.placeBlocks() == true {
self.checkSmallest()
}
}

while smallestArr.contains(100){
runAction(SKAction.sequence([run, wait]))
}
}

最佳答案

你的做法多么奇怪,你可能遇到比你想象的更大的问题,但我认为这是一次学习经历,所以......

当您的游戏需要开始创建 block 时,无需使用 while 循环,只需执行以下操作:

//Only call this once, not in a loop
func generateBlocks() {

let wait = SKAction.waitForDuration(1)
let run = SKAction.runBlock {
if self.placeBlocks() == true {
self.checkSmallest()
}
}
self.runAction(SKAction.repeatActionForever(SKAction.sequence([run, wait])), withKey:"blocks");


}

然后,您可以在更新循环中执行此操作:

if(!smallestArr.contains(100))
{
self.removeActionForKey("blocks")
}

关于swift - SKAction 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34540648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com