2014-02-12 61 views
0

我有兩個圖像的圖像陣列,重複做一隻鳥拍動翅膀。如何使圖像陣列移動?

如何讓陣列移動?

我有這樣的數組:

NSArray *imageNames = @[@"bird1.png", @"bird2.png"]; 

NSMutableArray *birdflapping = [[NSMutableArray alloc] init]; 
for (int i = 0; i < imageNames.count; i++) { 
    [birdflapping addObject:[UIImage imageNamed:[imageNames objectAtIndex:i]]]; 
} 
UIImageView *animationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(60, 95, 86, 193)]; 
animationImageView.animationImages = birdflapping; 
animationImageView.animationDuration = 1; 

[self.view addSubview:animationImageView]; 
[animationImageView startAnimating]; 

我怎樣才能使數組(作爲一個整體)移動?

+0

什麼意思爲數組動?從數組中刪除或動畫移動? – simalone

回答

0
NSArray *animationArray=[NSArray arrayWithObjects: 
             [UIImage imageNamed:@"images.jpg"], 
              [UIImage imageNamed:@"images1.jpg"], 
              [UIImage imageNamed:@"images5.jpg"], 
             [UIImage imageNamed:@"index3.jpg"], 
         nil]; 
    UIImageView *animationView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0,320, 460)]; 
     animationView.backgroundColor=[UIColor purpleColor]; 
     animationView.animationImages=animationArray; 
     animationView.animationDuration=1.5; 
    animationView.animationRepeatCount=0; 
     [animationView startAnimating]; 
     [self.view addSubview:animationView];  
0

這是你要移動的動畫形象,而形象被繪製幷包含在圖像視圖。要移動圖像,您可以移動圖像視圖。一種方法是調整視圖center屬性的位置。另一種可能性是使用更多的圖像,動畫中的每個幀都顯示鳥向前移動了一點。

也就是說,有很多更好的方法來做你想做的事情。您應該使用SpriteKit或Cocos2D來查看精靈動畫。

+0

好的,謝謝,我想我會研究Cocos2D,我聽說過很多。 – user3299835

0

你可以試試這個方法

UIImageView * animatedImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200,200)]; 

NSArray *imageNames = @[@"bird1.png", @"bird2.png"]; 
animTime =.0; 
[animatedImageView setAnimationImages:imageNames] ; 
animatedImageView.animationDuration = animTime; 
animatedImageView.animationRepeatCount = 1; 
[self.view addSubview: animatedImageView]; 
[animatedImageView startAnimating]; 
+0

我想製作一個像效果一樣的飛揚的鳥,鳥的翅膀瓣,如果用戶觸摸屏幕,它會向下移動,你知道該怎麼做嗎? – user3299835

0

你可以申請一個CGAffineTransformMakeTranslation如果你想要的是在屏幕上進行簡單的移動整個鳥在一條線上。

喜歡的東西:

[UIView animateWithDuration:1.0 animations:^{ 
    // move bird as a whole, 300 units across the screen 
    self.animationImageView.transform = CGAffineTransformMakeTranslation(300,0); 
}];