How to use the proton-engine.Alpha function in proton-engine

To help you get started, we’ve selected a few proton-engine examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github lindelof / particles-bg / src / particles / Custom.jsx View on Github external
if (body) emitter.addInitialize(new Proton.Body(body));

        let pos;
        if (position === "all" || position === "screen") {
            pos = new Proton.Position(new Proton.RectZone(0, 0, canvas.width, canvas.height))
        } else if (typeof position === "object") {
            pos = new Proton.Position(new Proton.RectZone(position.x, position.y, position.width, position.height))
        } else {
            emitter.p.x = canvas.width / 2;
            emitter.p.y = canvas.height / 2;
        }

        emitter.addInitialize(pos);

        /// behaviour
        const alphaB = alpha ? new Proton.Alpha(alpha[0], alpha[1]) : new Proton.Alpha(0, 1);
        const scaleB = scale ? new Proton.Scale(scale[0], scale[1]) : new Proton.Scale(1, 0.2);
        const colorB = color ? new Proton.Color(color[0], color[1]) : new Proton.Color(this.colors);

        emitter.addBehaviour(alphaB);
        emitter.addBehaviour(scaleB);
        if(!body) emitter.addBehaviour(colorB);

        if(rotate){
            if(rotate[0]===true||rotate[0]==="rotate"){
                emitter.addBehaviour(new Proton.Rotate());
            }else{
                emitter.addBehaviour(new Proton.Rotate(rotate[0], rotate[1]));
            }
        }

        const zone = new Proton.RectZone(0, 0, canvas.width, canvas.height)
github lindelof / particles-bg / src / particles / Fountain.jsx View on Github external
emitter.addInitialize(new Proton.Mass(1));
    emitter.addInitialize(new Proton.Radius(20, 200));
    emitter.addInitialize(new Proton.Life(2, 4));
    emitter.addInitialize(
      new Proton.Velocity(
        new Proton.Span(4, 7),
        new Proton.Span(0, 360),
        "polar"
      )
    );
    emitter.addInitialize(
      new Proton.Position(new Proton.CircleZone(width / 2, height / 2, 100))
    );

    emitter.addBehaviour(new Proton.Alpha(1, 0));
    emitter.addBehaviour(new Proton.Scale(0.2, 1));
    emitter.addBehaviour(this.createCustomBehaviour());
    emitter.addBehaviour(new Proton.Color(this.colors, "random"));
    emitter.emit();
    this.proton.addEmitter(emitter);

    const renderer = new Proton.CanvasRenderer(canvas);
    this.proton.addRenderer(renderer);
  }
github lindelof / particles-bg / src / particles / Ball.jsx View on Github external
);

    miniEmitter.addInitialize(new Proton.Mass(1));
    miniEmitter.radiusInitialize = new Proton.Radius();
    miniEmitter.addInitialize(miniEmitter.radiusInitialize);
    miniEmitter.addInitialize(new Proton.Life(0.5, 1));
    miniEmitter.addInitialize(
      new Proton.V(
        new Proton.Span(1.5, 3),
        new Proton.Span(0, 70, true),
        "polar"
      )
    );

    miniEmitter.colorBehaviour = new Proton.Color("#ffffff");
    miniEmitter.addBehaviour(new Proton.Alpha(1, 0));
    miniEmitter.addBehaviour(miniEmitter.colorBehaviour);
    miniEmitter.addBehaviour(new Proton.Gravity(4));
    miniEmitter.addBehaviour(new Proton.Collision(miniEmitter));
    miniEmitter.addBehaviour(
      new Proton.CrossZone(
        new Proton.RectZone(0, 0, canvas.width, canvas.height),
        "bound"
      )
    );
    this.proton.addEmitter(miniEmitter);

    this.miniEmitter = miniEmitter;
  }
github lindelof / particles-bg / src / particles / Ball.jsx View on Github external
this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(4, 9),
      new Proton.Span(0.8, 1.3)
    );

    emitter.addInitialize(new Proton.Mass(1));
    emitter.addInitialize(new Proton.Radius(1, 50));
    emitter.addInitialize(new Proton.Life(5, 6));
    emitter.addInitialize(
      new Proton.Velocity(
        new Proton.Span(5, 8),
        new Proton.Span(30, 70),
        "polar"
      )
    );

    emitter.addBehaviour(new Proton.Alpha(1, 0));
    emitter.addBehaviour(
      new Proton.Color(["#36aaf3", "#fd769c", "#94ff22", "#ffa545", "#ffffff"])
    );
    emitter.addBehaviour(new Proton.Scale(0.7, 1));
    emitter.addBehaviour(new Proton.Gravity(3));
    emitter.addBehaviour(new Proton.Collision(emitter));
    emitter.addBehaviour(this.customDeadBehaviour(canvas));
    emitter.addBehaviour(
      new Proton.CrossZone(
        new Proton.RectZone(0, 0, canvas.width, canvas.height),
        "bound"
      )
    );

    emitter.p.x = Math.min(500, Math.max(canvas.width / 2 - 400, 50));
    emitter.p.y = canvas.height / 2 + 50;
github lindelof / particles-bg / src / particles / Polygon.jsx View on Github external
const radiusInit = mainEmitter
        ? new Proton.Radius(10, 110)
        : new Proton.Radius(3, radius);
      emitter.addInitialize(new Proton.Mass(1));
      emitter.addInitialize(radiusInit);
      emitter.addInitialize(new Proton.Life(3, 6));
      emitter.addInitialize(
        new Proton.Velocity(
          new Proton.Span(4, 6),
          new Proton.Span(-90, 90),
          "polar"
        )
      );

      emitter.addBehaviour(new Proton.Alpha(alpha, 0.2));
      emitter.addBehaviour(new Proton.Color(color));
      emitter.addBehaviour(new Proton.Scale(1, 0.3));
      emitter.addBehaviour(new Proton.Rotate());
      emitter.addBehaviour(new Proton.Gravity(gravity));

      emitter.addBehaviour(this.customDeadBehaviour(canvas));
      emitter.addBehaviour(
        new Proton.CrossZone(
          new Proton.RectZone(0, 0, canvas.width, canvas.height),
          zone
        )
      );
    }

    emitter.p.x = x;
    emitter.p.y = y;
github lindelof / power-mode-input / src / index.js View on Github external
? new Proton.Rate(Proton.getSpan(Math.floor(config.num * 0.7), config.num), 0.1)
    : new Proton.Rate(Proton.getSpan(6, 8), 0.1);

  const life = config.life ? new Proton.Life(config.life) : new Proton.Life(0.5, 1.2);
  const color = config.color || getDefaultColor(node);
  const tha = config.tha ? new Proton.Span(config.tha[0], config.tha[1]) : new Proton.Span(-30, 30);
  const v = config.v ? new Proton.Span(config.v * 0.8, config.v) : new Proton.Span(0.6, 1.2);

  if (config.alpha) {
    if (Array.isArray(config.alpha)) {
      emitter.addBehaviour(new Proton.Alpha(config.alpha[0], config.alpha[1]));
    } else {
      emitter.addBehaviour(new Proton.Alpha(config.alpha));
    }
  } else {
    emitter.addBehaviour(new Proton.Alpha(Proton.getSpan(0.6, 0.9)));
  }

  if (config.radius) {
    const r = config.radius;
    const radius = new Proton.Radius(r * 0.5, r);
    emitter.addInitialize(radius);
  } else {
    const radius = new Proton.Radius(1, 2);
    emitter.addInitialize(radius);
  }

  const g = config.g || 2.5;

  if (config.random) {
    emitter.addBehaviour(new Proton.RandomDrift(config.random, config.random, 0.2));
  }