Tôi đang cố gắng tạo một trò chơi Simon đơn giản (một chuỗi màu sắc tăng dần và người dùng phải cố lặp lại chuỗi đó). Cách tôi đang đi về nó là bằng cách có 4 UIViews với 8 hình ảnh. Vì vậy, có UIView cho màu đỏ, xanh dương, xanh lục và vàng. Và tôi có gif màu xanh lá cây đậm, xanh lá cây nhạt, đỏ đậm, đỏ nhạt, v.v.objective-c: thực thi nhiều khối chuyển đổiWithView animation
Vì vậy, trong mã của tôi, tôi đang sử dụng chuyển đổi của UIViewKhoảng hoạt họaView: Hình ảnh UIViewViewView được mặc định thành hình ảnh màu tối và khối này đang chuyển sang hình ảnh có màu sáng và khi hoàn thành quay trở lại hình ảnh màu tối (để cho nó có giao diện "sáng lên").
- (void) animateColor:(NSString *)color
{
...
//do stuff to default the dark and light image name and which UIView to animate based on the color parameter
...
[UIView transitionWithView:imageView
duration:.5
options: UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAutoreverse
animations:^{
imageView.image = [UIImage imageNamed:lightImage];
}
completion:^(BOOL finished){
if (finished){
imageView.image = [UIImage imageNamed:darkImage];
}
}];
}
Điều này làm việc tốt khi tôi gọi nó là phương pháp mã này bằng một màu.
Vấn đề là, nói rằng tôi có một NSArray hoặc màu sắc tôi muốn tạo hiệu ứng tuần tự. Vì vậy, nếu mảng của tôi là "màu xanh", "màu xanh lá cây" tôi sẽ muốn transitionWithView được gọi là sử dụng màu xanh dương, animate chế độ xem màu xanh, sau đó tạo hiệu ứng cho chế độ xem màu xanh lá cây. Ngay bây giờ, nó sẽ tạo hiệu ứng cho chế độ xem màu xanh lục và chế độ xem màu xanh lam cùng một lúc.
Tôi đang cố gắng chơi với NSTimer ngay bây giờ, nhưng không có nhiều may mắn với điều đó.
Bất kỳ lời khuyên nào sẽ được đánh giá cao.