gpt4 book ai didi

ios - 动画太快了。似乎不能放慢脚步

转载 作者:可可西里 更新时间:2023-10-31 23:44:31 31 4
gpt4 key购买 nike

我的动画速度太快了。我正在做一个模式匹配游戏,我有 4 个不同颜色的 UIView。我想让一个闪烁,然后大约一秒钟后,让另一个 UIView 闪烁。 View 通过我的标签标识符闪烁,我已经为每个 View (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)

}




}

最佳答案

倾听人们对你说的话。如果您使用 for 循环并创建多个延迟值为 0 的动画,它们将同时运行。不要那样做。

相反,使用更像这样的代码:

let pauseBetweenAnimations = 1.0
for step in 1...level {
self.randomNumber = Int(arc4random_uniform(4)) + 1
let originalColor:UIColor =
self.view.viewWithTag(randomNumber)!.backgroundColor!
UIView.animateWithDuration(1, delay: (step - 1) * pauseBetweenAnimations,
options: UIViewAnimationOptions.CurveEaseOut,
animations:
//the rest of your code goes here...

这将使每个后续动画在前一个动画之后开始 1 秒。如果 1 秒太长,请更改 pauseBetweenAnimations 的值。

关于ios - 动画太快了。似乎不能放慢脚步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32802641/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com