Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 来自图像集的iphone动画_Ios - Fatal编程技术网

Ios 来自图像集的iphone动画

Ios 来自图像集的iphone动画,ios,Ios,我有大约5000张图片,标签是image_1到image_5000。我怎样才能创建一个动画,在每张图片中循环,然后重复? 这是一个iPhone应用程序,仅供我个人使用,非常感谢您的帮助 这是我正在使用的代码,为什么它不起作用 //.h @interface ViewController : UIViewController{ IBOutlet UIImageView *imageView; int i; } @end -(void)viewDidLoad { i=0; [NSTimer s

我有大约5000张图片,标签是image_1到image_5000。我怎样才能创建一个动画,在每张图片中循环,然后重复? 这是一个iPhone应用程序,仅供我个人使用,非常感谢您的帮助

这是我正在使用的代码,为什么它不起作用

 //.h
@interface ViewController : UIViewController{
IBOutlet UIImageView *imageView;
int i;
}
@end

-(void)viewDidLoad
{
i=0;
[NSTimer scheduledTimerWithTimeInterval:0.5
目标:自我
选择器:@selector(循环)
用户信息:无
重复:是];
[超级视图下载];
//加载视图后,通常从nib执行任何其他设置。
}
-(无效)循环{
如果(i=最大图像){
i=1;
}
}
}

这是太多的图像,无法使用自动版本,因此您必须自己使用一个。在显示链接功能中,应将图像视图的图像切换到下一个图像。如果您不了解,有很多关于如何在web上使用CADisplayLink的教程;)

这是太多的图像,无法使用自动版本,因此您必须使用。在显示链接功能中,应将图像视图的图像切换到下一个图像。如果您不了解,有很多关于如何在web上使用CADisplayLink的教程;)

下面是一个天真方法的例子。您可能会遇到内存问题,但如果不查看图像集,就很难知道它是否足够

UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.frame];

NSMutableArray *images = [NSMutableArray arrayWithCapacity:5000];
for(size_t i = 0; i <= 5000; ++i) {
    [images addObject:[UIImage imageNamed:[NSString stringWithFormat:@"image_%d", i]]];
}

imageView.animationImages = images;
imageView.animationDuration = 250.0;
imageView.animationRepeatCount = 0;

[imageView startAnimating];
UIImageView*imageView=[[UIImageView alloc]initWithFrame:self.view.frame];
NSMutableArray*图像=[NSMutableArray阵列,容量:5000];

对于(size_t i=0;i这里是一个简单方法的示例。您可能会遇到内存问题,但如果没有看到图像集,很难知道它是否足够

UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.frame];

NSMutableArray *images = [NSMutableArray arrayWithCapacity:5000];
for(size_t i = 0; i <= 5000; ++i) {
    [images addObject:[UIImage imageNamed:[NSString stringWithFormat:@"image_%d", i]]];
}

imageView.animationImages = images;
imageView.animationDuration = 250.0;
imageView.animationRepeatCount = 0;

[imageView startAnimating];
UIImageView*imageView=[[UIImageView alloc]initWithFrame:self.view.frame];
NSMutableArray*图像=[NSMutableArray阵列,容量:5000];

对于(size_t i=0;i我将使用NSTimer一次将图像加载到UIIMageView中。这样,您可以控制图像更改之间的间隔并最小化内存使用。如果您需要示例代码,请告诉我。

我将使用NSTimer一次将图像加载到UIIMageView中。这样,您就可以控制interv在图像更改和最小化内存使用之间切换。如果您需要示例代码,请告诉我。

您可以使用Cocos2d查看。但不确定它是否可以处理5000个图像


5000张图片听起来很像一部电影。你想过从这个角度来看它吗?

你可以用Cocos2d来看看。但不确定它是否能处理5000张图片


5000张图片听起来很像一部电影。你想过从这个角度来看它吗?

我想你指的是所有这些属性减去“动画”(图片、持续时间和重复次数)。动画图像构造器只允许1024幅图像,所以我不知道这是否会是一个问题…请注意,我在这里使用的是
UIImageView
,而不是直接在
UIImage
上使用动画属性。它们可能都有平台限制;我肯定从未创建过动画ode>UIImageView
有500张图像,远远少于5000张。哇,你说得对!我是在看UIImage,而不是UIImageView。上面的代码显然会在内存不足时使设备崩溃。当有多张像样大小的图像时,任何使用动画图像都会崩溃。我想你指的是所有这些属性减去“动画”(图像、持续时间和重复计数)。动画图像构造器只允许1024幅图像,所以我不知道这是否会是一个问题…请注意,我在这里使用的是
UIImageView
,而不是直接在
UIImage
上使用动画属性。它们可能都有平台限制;我肯定从未创建过动画ode>UIImageView
有500张图像,远远少于5000张。哇,你说得对!我在看UIImage,而不是UIImageView。上面的代码显然会在内存不足时使设备崩溃。当有多张像样大小的图像时,任何使用动画图像都会发生。我采用了这种方法,但我得到了非常奇怪的结果。首先,我已经检查了10次图像,它们都是有序的。但是当我运行应用程序时,图像3和图像2被交换了。我只对10个图像进行了小规模的测试,以测试它是否正常工作,我真的很困惑,我还设置了一个制动点,看看int是什么,它是111594320???我采用了这种方法,但我真的很困惑研发结果。首先,我已经检查了10次图像,它们都是有序的。但是当我运行应用程序时,图像3和图像2被交换了。我只对10个图像进行了小规模的测试,以测试它是否正常工作,我真的很困惑,我还设置了一个制动点,看看int是什么,它是111594320???我感觉我已经做了一个真实的测试y愚蠢的错误,所以不要太苛刻Im仅15我应该重置为0而不是1吗?不,图像从1开始我觉得我犯了一个非常愚蠢的错误,所以不要太苛刻Im仅15我应该重置为0而不是1吗?不,图像从1开始