В настоящее время я делаю приложение 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()
}
}