美文网首页
一款炫酷的粒子爆炸特效

一款炫酷的粒子爆炸特效

作者: 玖玖君 | 来源:发表于2019-11-28 10:57 被阅读0次

    在网上逛到的一款炫酷的控件粒子爆炸特效,什么?你不信真的很炫酷? 话不多说,那我们一起来看一看吧

    效果
    有这样的
    这样的
    还有这样的
    还有这样的
    还有这样的!
    还有这样的

    把这个用作用户体验操作,不知道有没有感觉到很惊艳呢

    1-1

    Gradle依赖

    dependencies {
        implementation 'me.samlss:bloom:1.0.0'
    }
    
    Maven
    <dependency>
      <groupId>me.samlss</groupId>
      <artifactId>bloom</artifactId>
      <version>1.0.0</version>
      <type>pom</type>
    </dependency>
    
    代码使用
     Bloom.with('activity')
         .setParticleRadius(5)
         .setEffector(new BloomEffector.Builder()
             .setDuration(800)
             .setAnchor(view.getWidth() / 2, view.getHeight() / 2)
             .build())
         .boom(view);
    
    升级版
    在该库中,支持三种粒子形状
    Bloom.with('activity')
        .setParticleRadius(15)
        //圆形特效
        .setShapeDistributor(new CircleShapeDistributor())
        //矩形特效
        //or setShapeDistributor(new RectShapeDistributor())
        //星型特效
        //or setShapeDistributor(new StarShapeDistributor())
        .boom(view);
    
    还可以进行使用随机特效
     .setShapeDistributor(new ParticleShapeDistributor() {
                                @Override
                                public ParticleShape getShape(BloomParticle particle) {
                                    switch (random.nextInt(3)){
                                        case 0:
                                            return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                        case 1:
                                            return new ParticleRectShape(2, 2, particle.getInitialX(), particle.getInitialY(), particle.getRadius());//设置圆角效果
                                        case 2:
                                            return new ParticleStarShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                    }
                                    return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                }
                            })
    
    组合起来
      Bloom.with(LoginActivity.this)
                            .setParticleRadius(5)
                            .setShapeDistributor(new ParticleShapeDistributor() {
                                @Override
                                public ParticleShape getShape(BloomParticle particle) {
                                    switch (random.nextInt(3)){
                                        case 0:
                                            return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                        case 1:
                                            return new ParticleRectShape(2, 2, particle.getInitialX(), particle.getInitialY(), particle.getRadius());//设置圆角效果
                                        case 2:
                                            return new ParticleStarShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                    }
                                    return new ParticleCircleShape(particle.getInitialX(), particle.getInitialY(), particle.getRadius());
                                }
                            })
                            .setEffector(new BloomEffector.Builder()
                                    .setDuration(800)
                                    .setAnchor(mScratchView.getWidth() / 2, mScratchView.getHeight() / 2)
                                    .build())
                            .boom(view);
    

    文章很短,路还漫长,大家好,我是玖玖君,一个帅气与才华并存的男人,我们下期再见。

    相关文章

      网友评论

          本文标题:一款炫酷的粒子爆炸特效

          本文链接:https://www.haomeiwen.com/subject/yibvwctx.html