Моя игра SpriteKit пропускается.Я сузил проблему до этих частей кода.В моей функции override func update(_ currentTime: TimeInterval)
у меня есть следующая проверка, чтобы увидеть, прошел ли мой игрок препятствие:
if obstacleScoreList[0].position.y < player.position.y {
obstacleScoreList.removeFirst()
score += 1
После изменения счета у меня есть следующий didSet:
var score = 0 {
didSet {
let stringFromNum = String(score)
var numList = [String]()
for char in stringFromNum {
numList.append(String(char))
}
switch numList.count {
case 1:
//scoreLabel3.texture = SKTexture(imageNamed: "num" + numList[0])
//blurr3.texture = SKTexture(imageNamed: "BlueNum" + numList[0])
scoreLabel3.texture = SKTexture(imageNamed: "num" + numList[0])
blurr3.texture = SKTexture(imageNamed: "BlueNum" + numList[0])
case 2:
scoreLabel3.texture = SKTexture(imageNamed: "num" + numList[1])
blurr3.texture = SKTexture(imageNamed: "BlueNum" + numList[1])
scoreLabel2.texture = SKTexture(imageNamed: "num" + numList[0])
blurr2.texture = SKTexture(imageNamed: "BlueNum" + numList[0])
case 3:
scoreLabel3.texture = SKTexture(imageNamed: "num" + numList[2])
blurr3.texture = SKTexture(imageNamed: "BlueNum" + numList[2])
scoreLabel2.texture = SKTexture(imageNamed: "num" + numList[1])
blurr2.texture = SKTexture(imageNamed: "BlueNum" + numList[1])
scoreLabel1.texture = SKTexture(imageNamed: "num" + numList[0])
blurr1.texture = SKTexture(imageNamed: "BlueNum" + numList[0])
default:
break
}
}
}
Мой счет - 3 узла SKSprite, а за ними - еще 3 узла SKSprite.Я просто обновляю эти спритеноды, когда счет обновляется.Если я закомментирую score += 1
, то все пройдет гладко.Есть идеи?