Как изменить цвет программно UIIMage Array Animation? - PullRequest
0 голосов
/ 27 апреля 2020

В настоящее время я делаю приложение Swift с несколькими элементами UIImage. Я нахожусь в точке, где мне нужно добавить анимацию в мою игру. Чтобы уменьшить размеры проектов f ie, я сделал отдельную анимацию осколков для каждого цветного стеклянного объекта. Я успешно изменил цветовой оттенок изображения для первого изображения в анимации, но не для последующих изображений. Каков наилучший способ добиться этого с помощью следующего кода?

shatterImages = createImagesArray(total: 26, imagePrefix: "Shatter")

func createImagesArray(total: Int, imagePrefix: String) -> [UIImage] {
    var imageArray: [UIImage] = []

    for imageCount in 1..<total {
        let imageName = "\(imagePrefix)-\(imageCount).png"
        let image = UIImage(named: imageName)!

        imageArray.append(image)

    }
    return imageArray
}

func animate(imageView: UIImageView, images: [UIImage]) {
    let templateImage = imageView.image?.withRenderingMode(.alwaysTemplate)
    imageView.image = templateImage
    imageView.tintColor = UIColor.blue
    imageView.animationImages = images
    imageView.animationDuration = 0.7
    imageView.animationRepeatCount = 1
    imageView.startAnimating()
}

 DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
                if self.game.correctValue == self.game.rightDiamondValue {
                    self.animate(imageView: self.rightGlass, images: self.shatterImages)
                        self.updateLabel()
                    } else {
                        self.gameOver()
                    }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...