我的动画速度太快了。我正在做一个模式匹配游戏,我有4个不同颜色的UIViews。我想要一个人眨眼,然后等一会儿,再有一个UIView眨眼。视图闪烁了我的标签标识符,我已经为每个视图设置了不同的值(1,2,3,4)。看起来他们都在同一时间。我已经尝试调整animateWithDuration函数的值,这似乎没有帮助。动画过快。似乎无法减慢
这里是我的打印输出,所以你可以看到它执行正确的顺序...
gary
3
gary
2
gary
2
gary
3
gary
2
func beginGame() {
var level = 5
for _ in 1...level {
self.randomNumber = Int(arc4random_uniform(4)) + 1
let originalColor:UIColor = self.view.viewWithTag(randomNumber)!.backgroundColor!
UIView.animateWithDuration(1, delay: 0, options: UIViewAnimationOptions.CurveEaseOut, animations: {
self.view.viewWithTag(self.randomNumber)!.backgroundColor = UIColor.whiteColor()
self.view.viewWithTag(self.randomNumber)!.backgroundColor = originalColor
print("gary")
}, completion: nil)
print(randomNumber)
enemyArray.append(randomNumber)
}
}
//新代码
func beginGame(){
var level = 5
for _ in 1...level {
self.randomNumber = Int(arc4random_uniform(4)) + 1
let originalColor:UIColor = self.view.viewWithTag(randomNumber)!.backgroundColor!
UIView.animateWithDuration(1, delay: 4, options: UIViewAnimationOptions.CurveEaseOut, animations: {
self.view.viewWithTag(self.randomNumber)!.backgroundColor = UIColor.whiteColor()
self.view.viewWithTag(self.randomNumber)!.backgroundColor = originalColor
print("gary")
}, completion: nil)
print(randomNumber)
enemyArray.append(randomNumber)
}
}
您是否尝试过在animateWithDuration方法中增加延迟,以便四个不同的动画不会同时触发? –
是的,我有。我玩过两个值。 –
你基本上是在同一时间做所有的动画。 for循环将所有动画排队,然后它们全部同时运行。增加每个延迟,等待直到前一个完成。 – rmaddy