多球运动

{

//存放10个视图的数组

NSMutableArray*_array;

}

- (void)viewDidLoad {

[super viewDidLoad];

//多球运动

//创建数组

_array= [[NSMutable Arrayalloc] initWithCapacity:0];

//用一个for循环创建十个视图

for(inti = 0; i < 10; i ++) {

UIView *view = [[UIView alloc] init];

//bounds尺寸

view.bounds=CGRectMake(0, 0, 50, 50);

//计算当前视图的中心点坐标

float x = 160 + 120 *cos(i * 36 *M_PI/180);

float y = 240 - 120 *sin(i * 36 *M_PI/180);

view.center=CGPointMake(x, y);

view.backgroundColor= [UIColor redColor];

[self.view addSubview:view];

//将视图添加到数组里面

[_array addObject:view];

//输出验证是否创建正确

NSLog(@"%@",_array);

}

//控制视图运动的定时器

[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(move) userInfo:nil repeats:YES];

}

- (void)move {

//定义初始角度

static int angle = 0;

//改变角度

angle ++;

//    //遍历数组,取出所有视图

//    //_array.count严谨性,方便修改

//    //for (UIView *view in _array) {}

//    for (int i = 0; i < _array.count; i ++) {

//        //UIView *view = _array[i];

//        UIView *view = [_array objectAtIndex:i];

//        //计算视图的中心点坐标

//        float x = 160 + 120 * cos((i * 36 + angle) * M_PI/180);

//        float y = 240 - 160 * sin((i * 36 + angle) * M_PI/180);

//        view.center = CGPointMake(x, y);

//    }

//方法二

for(UIView *view in _array) {

//计算视图的横纵坐标

float x = 160 + 120 *cos(angle *M_PI/ 180);

float y = 240 + 160 *sin(angle *M_PI/ 180);

//一个视图位置设置好之后,将角度增加36°,找到下一个view

//刷新位置

view.center=CGPointMake(x, y);

angle += 36;

if(angle > 360) {

angle -= 360;

}

}

NSLog(@"%d",angle);

}

你可能感兴趣的:(多球运动)