仿蚂蚁森林气泡

先上图:


首先气泡的动画就不多赘述了,搞个组动画很简单,主要说明下气泡的生成:

- (void)createPointArray {

    BOOL mark =YES;

    //随机生成气泡的中心坐标(定一个自己要求的范围)

    NSInteger randomCPX =50+arc4random() % (int)(kScreenWidth-120); 

    NSInteger randomCPY =kStatusBarHeight+self.navigationController.navigationBar.frame.size.height+30+ arc4random() % (int)(200);

    for(NSValue*valuein_pointArr) {

    //这里定死了气泡半径是35,所以根据勾股定理,斜边大于70,两个气泡就不会重合

        if(sqrt(pow([valueCGPointValue].x- randomCPX,2) +pow( [valueCGPointValue].y- randomCPY,2)) <=70) {

            mark=NO;

            break;

        }

    }

    if(mark ==YES) {

    //得到满足条件的气泡中心坐标   

        [_pointArr addObject:[NSValue valueWithCGPoint:CGPointMake(randomCPX, randomCPY)]];

    }

    //我这里定的是一组8个气泡,不够就继续递归生成

    if(_pointArr.count<8) {

        [self createPointArrays];

    }

}


好了,主要就是这样,其他逻辑可以自行实现。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容