How to use the proton-engine.Life 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
const g = this.getProp("g");
        const f = this.getArrProp("f");
        const emitterV = this.getProp("emitter");

        this.proton = new Proton();
        let emitter;
        if (emitterV === "follow") {
            emitter = new Proton.FollowEmitter();
        } else {
            emitter = new Proton.Emitter();
        }
        emitter.rate = new Proton.Rate(num, rps);

        emitter.addInitialize(new Proton.Mass(mass));
        emitter.addInitialize(new Proton.Radius(radius));
        emitter.addInitialize(new Proton.Life(life));
        emitter.addInitialize(new Proton.Velocity(v, tha, "polar"));
        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
github lindelof / particles-bg / dist / index.es.js View on Github external
var g = this.getProp("g");
            var f = this.getArrProp("f");
            var emitterV = this.getProp("emitter");

            this.proton = new Proton();
            var emitter = void 0;
            if (emitterV === "follow") {
                emitter = new Proton.FollowEmitter();
            } else {
                emitter = new Proton.Emitter();
            }
            emitter.rate = new Proton.Rate(num, rps);

            emitter.addInitialize(new Proton.Mass(mass));
            emitter.addInitialize(new Proton.Radius(radius));
            emitter.addInitialize(new Proton.Life(life));
            emitter.addInitialize(new Proton.Velocity(v, tha, "polar"));
            if (body) emitter.addInitialize(new Proton.Body(body));

            var pos = void 0;
            if (position === "all" || position === "screen") {
                pos = new Proton.Position(new Proton.RectZone(0, 0, canvas.width, canvas.height));
            } else if ((typeof position === "undefined" ? "undefined" : _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
github lindelof / particles-bg / src / particles / Color.jsx View on Github external
createProton(canvas, width, height) {
    this.proton = new Proton();
    const emitter = new Proton.Emitter();
    emitter.rate = new Proton.Rate(
      this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(5, 8),
      new Proton.Span(0.1, 0.25)
    );

    emitter.addInitialize(new Proton.Mass(1));
    emitter.addInitialize(new Proton.Radius(20, 200));
    emitter.addInitialize(new Proton.Life(2, 4));
    emitter.addInitialize(
      new Proton.Position(new Proton.RectZone(0, 0, width, height))
    );

    emitter.addBehaviour(new Proton.Alpha(0, 1, Infinity, Proton.easeOutCubic));
    emitter.addBehaviour(new Proton.Scale(1, 0, Infinity, Proton.easeOutCubic));
    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 / dist / index.es.js View on Github external
value: function createProton(canvas, width, height) {
      this.proton = new Proton();
      var emitter = new Proton.Emitter();
      emitter.rate = new Proton.Rate(this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(4, 8), new Proton.Span(0.1, 0.25));

      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);

      var renderer = new Proton.CanvasRenderer(canvas);
      this.proton.addRenderer(renderer);
    }
  }, {
github lindelof / particles-bg / src / particles / Fountain.jsx View on Github external
createProton(canvas, width, height) {
    this.proton = new Proton();
    const emitter = new Proton.Emitter();
    emitter.rate = new Proton.Rate(
      this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(4, 8),
      new Proton.Span(0.1, 0.25)
    );

    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();
github lindelof / particles-bg / src / particles / Polygon.jsx View on Github external
gravity = 3.5
  }) {
    const emitter = this.proton.pool.get(Proton.Emitter);

    if (!emitter.completed) {
      emitter.rate = new Proton.Rate(
        this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(4, 9),
        new Proton.Span(1.6, 2.2)
      );

      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(
github lindelof / particles-bg / src / particles / Ball.jsx View on Github external
createMiniEmitter(canvas) {
    const miniEmitter = new Proton.Emitter();
    miniEmitter.rate = new Proton.Rate(
      new Proton.Span(3, 6),
      new Proton.Span(1, 2)
    );

    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),
github lindelof / particles-bg / dist / index.es.js View on Github external
value: function createMiniEmitter(canvas) {
      var miniEmitter = new Proton.Emitter();
      miniEmitter.rate = new Proton.Rate(new Proton.Span(3, 6), new Proton.Span(1, 2));

      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;
    }
  }, {