gpt4 book ai didi

ios - 在 objective-c 中按顺序播放动画

转载 作者:行者123 更新时间:2023-11-28 17:48:24 26 4
gpt4 key购买 nike

我正在尝试按顺序播放动画,但在播放它们时遇到问题,因为 for 循环遍历数组中的对象列表。

它将在数组中移动,但它不会播放每一个,它只播放最后一个。

-(void) startGame {
gramma.animationDuration = 0.5;

// Repeat forever
gramma.animationRepeatCount = 1;
int r = arc4random() % 4;
[colorChoices addObject:[NSNumber numberWithInt:r]];

int anInt = [[colorChoices objectAtIndex:0] integerValue];
NSLog(@"%d", anInt);
for (int i = 0; i < colorChoices.count; i++) {

[self StrikeFrog:[[colorChoices objectAtIndex:i] integerValue]];
//NSLog(@"%d", [[colorChoices objectAtIndex:i] integerValue]);
sleep(1);

}
}

它在整个循环中移动得非常快,并且 sleep 没有做任何事情来让它播放每个动画……有什么建议吗?

最佳答案

使用 NSTimer 以便运行循环有时间进行处理。直到 startGame 返回后绘图才会开始。

编辑:

-(void) myTimerMethod:(NSTimer *)inTimer {
if ( mPosition < [colorChoices count] ) {
[self StrikeFrog:[[colorChoices objectAtIndex:mPosition] integerValue]];
mPosition += 1;
} else {
[inTimer invalidate];
}
}

启动它:

mPosition = 0;
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(myTimerMethod:) userInfo:nil repeats:YES];

如果您需要能够在中途停止计时器,请保留对它的引用,以便您可以根据需要使它无效。

关于ios - 在 objective-c 中按顺序播放动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2886133/

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