Авто-изменение размера текстуры в начале анимации
У меня есть один вопрос. Для анимации моего объекта я использовал этот метод в классе Player:
func animationPlayerMovement(action: Bool) {
for i in 1...3 {
let name = "player \(i)"
playerTextures.append(SKTexture(imageNamed: name))
}
if(action == true){
playerMovement = SKAction.animate(with: playerTextures, timePerFrame: 0.1, resize: true, restore: true)
self.run(SKAction.repeatForever(playerMovement))
}else{
self.removeAllActions()
}
}
И вызывать этот метод в функции touchesBegan(), когда я использую виртуальный джойстик. Направление моего спрайта взято из условия в функции touchesMoved():
if(velocityX < 0){
player.xScale = -1
}else{
player.xScale = 1
}
Но у меня проблема, размер моего спрайта меняется, когда я начинаю двигаться, он становится больше по ширине и высоте. Если я изменяю изменение размера в SKAction.animate на false, высота нормальная, но ширина меняется на маленькую и нормальную для всего времени анимации. Объект "игрок" был создан с этими параметрами:
player.size = CGSize(width: 40, height: 60)
player.xScale = 1
player.yScale = 1
Кто-нибудь знает в чем проблема?