Авто-изменение размера текстуры в начале анимации

У меня есть один вопрос. Для анимации моего объекта я использовал этот метод в классе 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

Кто-нибудь знает в чем проблема?

0 ответов

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