SpriteKit SKCameraNode не может анимировать увеличение

Для моей игры для iOS с использованием SpriteKit. У меня есть узел камеры на сцене.

var cam = SKCameraNode()
self.camera = cam

//THIS WORKS, view zoomed out to 2x
cam.setScale(2)

//I want to animate the zoom out, but this doesn't work
let zoomOutAction = SKAction.scaleTo(2, duration: 1)
cam.runAction(zoomOutAction)

2 ответа

Я исправил это, просто добавил строку: self.addChild(cam)

var cam = SKCameraNode()
cam.position = CGPointMake(size.width/2, size.height/2)
self.addChild(cam)
self.camera = cam

Не знаю, если у вас все еще есть эта проблема, но, надеюсь, это поможет...

У меня была похожая проблема с перемещением SKCameraNode с помощью MoveToY SKAction. Даже если установка позиции будет работать, либо напрямую, либо в SKAction runBlock, действие не будет работать. Это началось бы, но вернулось к исходной позиции после окончания. Использование runAction(withKey:) заставило его работать до конца. Попробуйте что-то вроде:

cam.runAction(zoomOutAction, withKey:"zoom")

Надеюсь, это было полезно.

Другие вопросы по тегам