How to use proton-engine - 10 common examples

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 / dist / index.es.js View on Github external
// Behaviour
      var crossZoneBehaviour = new Proton.CrossZone(new Proton.RectZone(0, 0, canvas.width, canvas.height), "cross");
      emitter.addBehaviour(crossZoneBehaviour);
      this.repulsion = new Proton.Repulsion({
        x: canvas.width / 2,
        y: canvas.height / 2 - 100
      }, 3, 300);

      this.attraction = new Proton.Attraction({
        x: canvas.width / 2,
        y: canvas.height / 2
      }, 3, 200);
      emitter.addBehaviour(this.attraction, this.repulsion);
      emitter.addBehaviour(new Proton.Color("random"));
      emitter.addBehaviour(new Proton.RandomDrift(20, 15, 0.15));

      emitter.emit("once");
      this.proton.addEmitter(emitter);
      this.proton.addRenderer(this.createRenderer(canvas));
      this.crossZoneBehaviour = crossZoneBehaviour;
    }
  }, {
github drawcall / Proton / source / src / components / particles / Thick.jsx View on Github external
// Behaviour
    const crossZoneBehaviour = new Proton.CrossZone(
      new Proton.RectZone(0, 0, canvas.width, canvas.height),
      "cross"
    );
    emitter.addBehaviour(crossZoneBehaviour);
    this.repulsion = new Proton.Repulsion(
      {
        x: canvas.width / 2,
        y: canvas.height / 2 - 100
      },
      3,
      300
    );

    this.attraction = new Proton.Attraction(
      {
        x: canvas.width / 2,
        y: canvas.height / 2
      },
      3,
      200
    );
    emitter.addBehaviour(this.attraction, this.repulsion);
    emitter.addBehaviour(new Proton.Color("random"));
    emitter.addBehaviour(new Proton.RandomDrift(20, 15, 0.15));

    emitter.emit("once");
    this.proton.addEmitter(emitter);
    this.proton.addRenderer(this.createRenderer(canvas));
    this.crossZoneBehaviour = crossZoneBehaviour;
  }
github lindelof / particles-bg / src / particles / Thick.jsx View on Github external
// Behaviour
    const crossZoneBehaviour = new Proton.CrossZone(
      new Proton.RectZone(0, 0, canvas.width, canvas.height),
      "cross"
    );
    emitter.addBehaviour(crossZoneBehaviour);
    this.repulsion = new Proton.Repulsion(
      {
        x: canvas.width / 2,
        y: canvas.height / 2 - 100
      },
      3,
      300
    );

    this.attraction = new Proton.Attraction(
      {
        x: canvas.width / 2,
        y: canvas.height / 2
      },
      3,
      200
    );
    emitter.addBehaviour(this.attraction, this.repulsion);
    emitter.addBehaviour(new Proton.Color("random"));
    emitter.addBehaviour(new Proton.RandomDrift(20, 15, 0.15));

    emitter.emit("once");
    this.proton.addEmitter(emitter);
    this.proton.addRenderer(this.createRenderer(canvas));
    this.crossZoneBehaviour = crossZoneBehaviour;
  }
github lindelof / particles-bg / dist / index.es.js View on Github external
// Initialize
      emitter.addInitialize(new Proton.Mass(1));
      emitter.addInitialize(new Proton.Radius(8));
      emitter.addInitialize(new Proton.V(new Proton.Span(0.1, 0.5), new Proton.Span(0, 360), "polar"));
      emitter.addInitialize(new Proton.Position(new Proton.CircleZone(canvas.width / 2, canvas.height / 2, 100)));

      // Behaviour
      var crossZoneBehaviour = new Proton.CrossZone(new Proton.RectZone(0, 0, canvas.width, canvas.height), "cross");
      emitter.addBehaviour(crossZoneBehaviour);
      this.repulsion = new Proton.Repulsion({
        x: canvas.width / 2,
        y: canvas.height / 2 - 100
      }, 3, 300);

      this.attraction = new Proton.Attraction({
        x: canvas.width / 2,
        y: canvas.height / 2
      }, 3, 200);
      emitter.addBehaviour(this.attraction, this.repulsion);
      emitter.addBehaviour(new Proton.Color("random"));
      emitter.addBehaviour(new Proton.RandomDrift(20, 15, 0.15));

      emitter.emit("once");
      this.proton.addEmitter(emitter);
      this.proton.addRenderer(this.createRenderer(canvas));
      this.crossZoneBehaviour = crossZoneBehaviour;
    }
  }, {
github drawcall / Proton / source / src / components / particles / Thick.jsx View on Github external
createProton(canvas, width, height) {
    this.proton = new Proton();

    const emitter = new Proton.Emitter();
    emitter.damping = 0.008;
    emitter.rate = new Proton.Rate(150);

    // Initialize
    emitter.addInitialize(new Proton.Mass(1));
    emitter.addInitialize(new Proton.Radius(8));
    emitter.addInitialize(
      new Proton.V(new Proton.Span(0.1, 0.5), new Proton.Span(0, 360), "polar")
    );
    emitter.addInitialize(
      new Proton.Position(
        new Proton.CircleZone(canvas.width / 2, canvas.height / 2, 100)
      )
    );

    // Behaviour
    const crossZoneBehaviour = new Proton.CrossZone(
      new Proton.RectZone(0, 0, canvas.width, canvas.height),
      "cross"
    );
    emitter.addBehaviour(crossZoneBehaviour);
    this.repulsion = new Proton.Repulsion(
github lindelof / particles-bg / dist / index.es.js View on Github external
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
            var alphaB = alpha ? new Proton.Alpha(alpha[0], alpha[1]) : new Proton.Alpha(0, 1);
            var scaleB = scale ? new Proton.Scale(scale[0], scale[1]) : new Proton.Scale(1, 0.2);
            var 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]));
                }
            }

            var zone = new Proton.RectZone(0, 0, canvas.width, canvas.height);
            var crossZoneBehaviour = new Proton.CrossZone(zone, cross);
            emitter.addBehaviour(crossZoneBehaviour);
github lindelof / particles-bg / src / particles / Custom.jsx View on Github external
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)
        const crossZoneBehaviour = new Proton.CrossZone(zone, cross);
        emitter.addBehaviour(crossZoneBehaviour);
github lindelof / particles-bg / src / particles / Thick.jsx View on Github external
createProton(canvas, width, height) {
    this.proton = new Proton();

    const emitter = new Proton.Emitter();
    emitter.damping = 0.008;
    emitter.rate = new Proton.Rate(this.props.num ? this.props.num : 150);

    // Initialize
    emitter.addInitialize(new Proton.Mass(1));
    emitter.addInitialize(new Proton.Radius(8));
    emitter.addInitialize(
      new Proton.V(new Proton.Span(0.1, 0.5), new Proton.Span(0, 360), "polar")
    );
    emitter.addInitialize(
      new Proton.Position(
        new Proton.CircleZone(canvas.width / 2, canvas.height / 2, 100)
      )
    );

    // Behaviour
    const crossZoneBehaviour = new Proton.CrossZone(
      new Proton.RectZone(0, 0, canvas.width, canvas.height),
github drawcall / Proton / source / src / components / particles / Thick.jsx View on Github external
createProton(canvas, width, height) {
    this.proton = new Proton();

    const emitter = new Proton.Emitter();
    emitter.damping = 0.008;
    emitter.rate = new Proton.Rate(150);

    // Initialize
    emitter.addInitialize(new Proton.Mass(1));
    emitter.addInitialize(new Proton.Radius(8));
    emitter.addInitialize(
      new Proton.V(new Proton.Span(0.1, 0.5), new Proton.Span(0, 360), "polar")
    );
    emitter.addInitialize(
      new Proton.Position(
        new Proton.CircleZone(canvas.width / 2, canvas.height / 2, 100)
      )
    );

    // Behaviour
github lindelof / particles-bg / src / particles / Thick.jsx View on Github external
createProton(canvas, width, height) {
    this.proton = new Proton();

    const emitter = new Proton.Emitter();
    emitter.damping = 0.008;
    emitter.rate = new Proton.Rate(this.props.num ? this.props.num : 150);

    // Initialize
    emitter.addInitialize(new Proton.Mass(1));
    emitter.addInitialize(new Proton.Radius(8));
    emitter.addInitialize(
      new Proton.V(new Proton.Span(0.1, 0.5), new Proton.Span(0, 360), "polar")
    );
    emitter.addInitialize(
      new Proton.Position(
        new Proton.CircleZone(canvas.width / 2, canvas.height / 2, 100)
      )
    );

    // Behaviour