gpt4 book ai didi

iphone - 我应该如何在 iOS 中为超过 200 张图像制作动画?

转载 作者:可可西里 更新时间:2023-11-01 05:06:30 25 4
gpt4 key购买 nike

我有 200 多张图像要在大约 10 秒的时间内制作动画。我尝试通过将图像加载到数组中然后调用 startAnimating 方法来使用 animationImages。这在模拟器中运行良好,但使 iPad 崩溃。

我试过每 1/25 秒调用一次 NStimer 并在每次计时器触发时更改图像。这比以前的方法表现更好,它在模拟器中运行良好,但在 iPad 上的(滞后)动画快要结束时也会崩溃。

有人可以帮助我并告诉我解决这个问题的理想方法吗?谢谢。

原始代码:

- (void) humptyFallingAnim {

NSString *filename;
if (humptyImageCounter < 285) {
filename = [NSString stringWithFormat:@"Humpty Animation HD1.2 png sequence/humpty_HD1.2_%d.png", humptyImageCounter];
UIImage *someImage = [UIImage imageNamed:filename];
humptyFalling.image = someImage;
NSLog(@"loaded image: %d", humptyImageCounter);
humptyImageCounter++;
} else {
NSLog(@"Timer invalidated");
[humptyTimer invalidate];
humptyTimer = nil;
}

}

编辑:一些不适合我的新代码

NSString *filename;
if (humptyImageCounter < 285) {
filename = [NSString stringWithFormat:@"Humpty Animation HD1.2 png sequence/humpty_HD1.2_%d.png", humptyImageCounter];
@autoreleasepool {
UIImage *someImage = [UIImage imageWithContentsOfFile:filename];
humptyFalling.image = someImage;
NSLog(@"loaded image: %d", humptyImageCounter);
}
humptyImageCounter++;
} else {
NSLog(@"Timer invalidated");
[humptyTimer invalidate];
humptyTimer = nil;
}

编辑 2:

-(void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
NSLog(@"You shook it!");
[self.view bringSubviewToFront:imgSnail];
if (deviceHasBeenShaken == 0) {
deviceHasBeenShaken = 1;
}
humptyTimer = [NSTimer scheduledTimerWithTimeInterval:(1/25) target:self selector:@selector(humptyFallingAnim) userInfo:nil repeats:YES];
[self moveHumptyPosition];

}

最佳答案

不幸的是,这听起来像是 OpenGL ES 的工作。该应用是游戏吗?

关于iphone - 我应该如何在 iOS 中为超过 200 张图像制作动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11320670/

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