我需要找到一个延迟此对象动画的选项(cloudDrop2图像)。所有当我加载游戏时,cloudDrop2图像显示下降。我想在加载游戏后延迟动画5秒钟。 5秒后,图像显示下降。我正在使用Xcode 5。
任何帮助或建议?
以下是我使用的代码:
<。p> .m文件-(void)cloudDrop2Code{
// cloudDrop2 Images Animation
cloudDrop2.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"cloudDrop2.png"],
[UIImage imageNamed:@"cloudDrop1.png"],
[UIImage imageNamed:@"cloudDrop2.png"],
[UIImage imageNamed:@"cloudDrop1.png"],
[UIImage imageNamed:@"cloudDrop2.png"],
[UIImage imageNamed:@"cloudDrop1.png"],
[UIImage imageNamed:@"cloudDrop2.png"],
[UIImage imageNamed:@"cloudDrop1.png"],nil];
[cloudDrop2 setAnimationRepeatCount:1];
cloudDrop2.animationDuration = 0.1;
[cloudDrop2 startAnimating];
// Drop Cloud Ramdom Position
cloudDrop2.center = CGPointMake(cloudDrop2.center.x, cloudDrop2.center.y +2.1);
if (cloudDrop2.center.y > 590){
RamdomPosition = arc4random() %266;
RamdomPosition = RamdomPosition +54;
cloudDrop2.center = CGPointMake(RamdomPosition, -40);
dropCloudUsed = NO;
// Time to Drop Cloud Down Again
[[NSRunLoop currentRunLoop]runUntilDate:[NSDate dateWithTimeIntervalSinceNow:7.0]];
}
}
然后在viewDidLoad
方法中:
// cloudDrop2 Down Movement Speed
TMcloudDrop2 = [NSTimer scheduledTimerWithTimeInterval:0.03
target:self
selector:@selector(cloudDrop2Code)
userInfo:nil
repeats:YES];
答案 0 :(得分:0)
欢迎来到SO。
我没有看到任何负责加载游戏部分的代码。你可能应该发布这个帖子,以便更容易回答你的问题。
没有看到您的代码的任何其他部分,我建议您使用NSNotification在游戏加载完成后提醒您。收到通知后,您就可以开始动画序列了。
您可以阅读NSNotification Class Reference。如果你需要一些帮助或指示,不要害怕问。
要使用计时器延迟5秒钟来启动动画,您可以使用:
[NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(targetMethod:)
userInfo:nil
repeats:NO];
其中(targetMethod :)是包含动画的方法的名称。
答案 1 :(得分:0)
使用单独的方法创建计时器。
- (void)startGameAnimation
{
// cloudDrop2 Down Movement Speed
TMcloudDrop2 = [NSTimer scheduledTimerWithTimeInterval:0.03
target:self
selector:@selector(cloudDrop2Code)
userInfo:nil
repeats:YES];
}
然后在viewDidLoad
中延迟调用此方法。
- (void)viewDidLoad
{
[super viewDidLoad];
[self performSelector:@selector(startGameAnimation) withObject:nil afterDelay:5];
}