0

ねえ、私は問題にぶつかっています。nstimerによって2秒ごとに追加される画像オブジェクトを作成します。更新タイマーがそれを更新して、画像が進むようにします。しかし、それは新しいものが追加されるまで先に進むだけで、私はその理由を解決できません。

これはそれを追加するための方法です。

-(void)addTarget {

UIImage *image1=[UIImage imageNamed:@"enemy.png"];
                 image=[[UIImageView alloc]initWithImage:image1];
                 image.frame=CGRectMake(0,0,50,50);
                 [self.view addSubview:image];
image.center = CGPointMake(150, 150);
image.tag = 1;
[_targets addObject:image];
                     [image release];       
}

自己説明。

-(void) update {
 image.center = CGPointMake(image.center.x+2, image.center.y);

}

そしてこれはそれらを生み出します。

-(void) spawn {
[self addTarget];
}
4

1 に答える 1

3

これは、常に画像を再割り当てしているためです。毎回新しいimage1変数を作成し、それをNSMutableArrayに追加する必要があります。

次に、updateメソッドで、forループを使用して、配列の中心にある各画像を任意のポイントに移動します。

- (void)update {
    for (UIImage *image in _targets) {
        image.center = CGPointMake(image.center.x+2, image.center.y);
    }
}
于 2011-09-17T22:38:12.310 に答える