У меня есть таймер, который обновляется каждые 1/100 секунды, и функция, запускаемая этой функцией, порождает новые узлы, которые, как предполагается, являются блоками, которые равномерно распределены при перемещении по экрану. Проблема в том, что они этого не делают. Между некоторыми из этих узлов есть расхождение, и я понятия не имею, почему.
Вот код функции таймера:
@objc func blocktimer(){
blockcounter = blockcounter + 1
badcounter += 1
if score <= 100{
if blockcounter % 53 == 0{
makegoodnode(890, yvar: -1400)
}
}
}
Эта функция вызывает другую функцию makegoodnode ().
Вот makegoodnode ():
func makegoodnode(_ xvar: Int , yvar: Int){
goodblock = SKSpriteNode(color: .green, size: CGSize(width: 200, height: 3000))
goodblock.position = CGPoint(x: xvar, y: yvar)
goodblock.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: 200, height: 3000))
goodblock.physicsBody?.affectedByGravity = false
goodblock.physicsBody?.allowsRotation = false
goodblock.physicsBody?.mass = 0.1
goodblock.physicsBody?.isDynamic = false
goodblock.name = "Platform"
addChild(goodblock)
goodblock.run(SKAction.move(by: CGVector(dx: -4000, dy: 3000), duration: 10))
}
Вот изображение, показывающее, о чем я говорю: