Я разрабатываю игру, у меня есть различные узлы, которые масштабируются.
в зависимости от устройства (ipad/iphone) они имеют максимальный размер от 50 до 128 (выход println("\(size)")
), поэтому я предполагаю, что максимальный размер должен быть 3x128, верно?
при масштабировании происходит следующее:
- начальный размер (0,0)
- окончательный размер (max,max) -- это размеры, упомянутые выше.
я масштабирую с помощью SKAction так:
let imageName = NameGenerator.defaultGenerator.generateAssetName(properties: properties)
let texture = SKTexture(imageNamed: imageName)
let node = SKSpriteNode(texture: texture)
let initialSize = CGSizeMake(1, 1)
let scaleFactor = max / initialSize.width
let actionScale = SKAction.scaleTo(scale, duration: duration)
node.runAction(scale)
Все идет нормально. приложение работает гладко и все работает, но
- узлы сильно пикселизированы во время анимации масштабирования
мои активы в настоящее время хранятся только в размере @3x
в 300x300px
вопрос
- каков оптимальный формат текстуры (png, svg,...) - есть ли способ использовать векторные изображения?
- Как вы думаете, какой оптимальный размер текстуры для этого сценария?
- правильно ли я делаю масштабирование/инициализацию или мне нужно сделать что-то другое, чтобы избежать пикселизации?