0

我有 81 个按钮。我想做的是,每个按钮都必须离开屏幕,而不是有非时,它们必须回来。

例如:

1.

***
***
***

2.
 **
***
***

3.
  *
***
***

所以一个

比他们必须回来:

1.


  *

2.


 **

3.


***

所以一个

我尝试在循环中使用 [UIView animateWithDuration] ,但它全部动画在一起,而不是拆分:

for(int i = 0 ; i < 9 ; i ++)
 for(int j = 0 ; j < 9 ; j ++){
  [uiview animateWithDuration:0.5f animations:^{
   button.center = CGPointMake(self.view.frame.size.width, self.view.frame.size.height);
  }
 }
4

3 回答 3

0

据我了解,您想一次移动每个按钮。在 UIView 中添加每个 UIButton,然后将该 UIView 移出屏幕。

否则,在 NSArray 中添加每个按钮并使用 for 循环将它们全部移动,如下所示:

for (UIButton *btn in buttonArray) {
    btn.frame = [CGRectMake(width, height, x, y)];
}
于 2013-07-21T13:25:48.290 回答
0

我玩了一点

-(void)move1:(NSArray *)array index:(int)index {
UIButton *btn = array[index];
[UIView animateWithDuration:.5 animations:^{
    btn.frame = CGRectMake(0, 0, btn.frame.size.width, btn.frame.size.height);
} completion:^(BOOL finished) {
    if ([array count] != index+1) [self move1:array index:index+1];
}];
}

- (void)viewDidLoad {
    [super viewDidLoad];

    NSArray *buttonArray = [[NSArray alloc] initWithObjects:b1,b2,b3,b4,b5, nil];

    [self move1:buttonArray index:0];
}
于 2013-07-21T20:06:13.213 回答
-1
      AddEventListener(Event.ENTER_FRAME, update);// function to show the bottons back again
    function update(e:Event){
    //manipulate te propety to move sidewards
    x = x - speed; // move to the left
    // aceleration
    speed = speed + 0,1;
    // limit the positino to stay on the screen
    if (x < -width) { // meanes off the left of the screen
    X = stage.stageWidth + width;
    }}

在movieClip或底部添加上面的代码。下面到现场。

      AddEventListener(Event.ENTER_FRAME, mainloop);

        function mainloop(e:Event){
        for (var i = 0; i<nunChildren; i++){
        }
于 2013-07-22T06:02:57.637 回答