创建后的图像动画问题

时间:2011-07-22 11:31:15

标签: iphone animation timer uiimageview

嗨,这里的每一个都是我的代码:

-(void) onTimer {
UIImage * image = [UIImage imageNamed:@"abouffer_03.png"];
imageView = [[UIImageView alloc] initWithImage:image];
[imageView setCenter:[self randomPointSquare]];
[[self view] addSubview:imageView];

ix=imageView.center.x;
iy=imageView.center.y;

X=(240-ix)/230;
Y=(160-iy)/230;

}

-(void)onTimer2{
imageView.center = CGPointMake(imageView.center.x + X, imageView.center.y + Y);

}

“onTimer”每4秒调用一次,“onTimer2”上有一个CADisplayLink(60fps)。

我的问题是每次调用“onTimer”时“imageView”的动画都会停止;创建一个新的“imageView”,然后使用“onTimer2”方法移动imageView,然后停止并创建另一个“imageView”......

我想要的是“imageView”的动画继续并行并行创建新的“imageView”,我该怎么办呢?对不起我的英语我是法国人:/

1 个答案:

答案 0 :(得分:0)

您每次使用相同的imageView对象进行分配和初始化。您需要使用不同的imageView,例如:

-(void) onTimer {
    UIImage * image = [UIImage imageNamed:@"abouffer_03.png"];
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:<specify desired frame>];
    imageView.image = image;
    [imageView setCenter:[self randomPointSquare]];
    [[self view] addSubview:imageView];

    ix=imageView.center.x;
    iy=imageView.center.y;

    X=(240-ix)/230;
    Y=(160-iy)/230;

}