Мне нужно создать cgpath непрерывно. На данный момент я делаю это так:Создать бесконечный cgpath без framedrops
func createLine(){
var rand = randomBetweenNumbers(1, 2)
currentY--
if rand < 1.5{
currentX--
CGPathAddLineToPoint(leftPath, nil, currentX, currentY)
}else{
currentX++
CGPathAddLineToPoint(leftPath, nil, currentX, currentY)
}
CGPathAddLineToPoint(rightPath, nil, currentX+tileSize, currentY)
lineNode.path = leftPath
rightNode.path = rightPath
}
И называю это так:
NSTimer.scheduledTimerWithTimeInterval(0.05, target: self, selector: Selector("startTile"), userInfo: nil, repeats: true)
Но проблема в том, что кадры падения ниже и ниже в течение долгого времени. Есть ли что-то, что я должен изменить, чтобы частота кадров больше не снижалась?
Моя цель - создать случайный бесконечный путь.
Я предположил бы, что вам нужно сбросить старые части вашего пути. В противном случае вы получаете все большее количество сегментов пути. Альтернативно, почему бы не создать новый путь каждый раз, когда будет достигнут конец текущего пути? – sangony
Я не могу создать новый путь, потому что мне нужно, чтобы он был бесконечным или, по крайней мере, что новый путь не отображается для игрока. – Christian
Это должно помочь [line caching] (http://stackoverflow.com/questions/24553245/poor-performance-with-skshapenode-in-sprite-kit) – 0x141E