How to use the proton-engine.Attraction 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 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 lindelof / particles-bg / dist / index.es.js View on Github external
this.proton = new Proton();

      var emitter = new Proton.Emitter();
      emitter.damping = 0.008;
      emitter.rate = new Proton.Rate(this.props.num ? this.props.num : 50);
      emitter.addInitialize(new Proton.Mass(1));
      emitter.addInitialize(new Proton.Radius(5, 9));
      emitter.addInitialize(new Proton.Velocity(new Proton.Span(1.5), new Proton.Span(0, 360), "polar"));
      emitter.addInitialize(new Proton.Position(new Proton.RectZone(0, 0, width, height)));

      var mouseInfo = {
        x: width / 2,
        y: height / 2
      };

      var attractionBehaviour = new Proton.Attraction(mouseInfo, 0, 0);
      var crossZoneBehaviour = new Proton.CrossZone(new Proton.RectZone(0, 0, canvas.width, canvas.height), "bound");
      emitter.addBehaviour(new Proton.Color(this.props.color || "#bbb"));
      //emitter.addBehaviour(new Proton.Alpha(new Proton.Span(0.5, 1)));
      emitter.addBehaviour(attractionBehaviour, crossZoneBehaviour);
      emitter.addBehaviour(new Proton.RandomDrift(15, 15, 0.05));
      emitter.emit("once");

      this.proton.addEmitter(emitter);
      this.proton.addRenderer(this.createRenderer(canvas));
      this.crossZoneBehaviour = crossZoneBehaviour;
    }
  }, {
github lindelof / particles-bg / src / particles / Tadpole.jsx View on Github external
new Proton.Velocity(
        new Proton.Span(1.5),
        new Proton.Span(0, 360),
        "polar"
      )
    );
    emitter.addInitialize(
      new Proton.Position(new Proton.RectZone(0, 0, width, height))
    );

    const mouseInfo = {
      x: width / 2,
      y: height / 2
    };

    const attractionBehaviour = new Proton.Attraction(mouseInfo, 0, 0);
    const crossZoneBehaviour = new Proton.CrossZone(
      new Proton.RectZone(0, 0, canvas.width, canvas.height),
      "bound"
    );
    emitter.addBehaviour(new Proton.Color(this.props.color || "#bbb"));
    //emitter.addBehaviour(new Proton.Alpha(new Proton.Span(0.5, 1)));
    emitter.addBehaviour(attractionBehaviour, crossZoneBehaviour);
    emitter.addBehaviour(new Proton.RandomDrift(15, 15, 0.05));
    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
value: function createProton(canvas, width, height) {
      this.proton = new Proton();

      var emitter = new Proton.Emitter();
      emitter.damping = 0.008;
      emitter.rate = new Proton.Rate(this.props.num ? this.props.num : 250);
      emitter.addInitialize(new Proton.Mass(1));
      emitter.addInitialize(new Proton.Radius(4));
      emitter.addInitialize(new Proton.Velocity(new Proton.Span(1.5), new Proton.Span(0, 360), "polar"));
      var mouseObj = {
        x: width / 2,
        y: height / 2
      };

      var attractionBehaviour = new Proton.Attraction(mouseObj, 0, 0);
      var crossZoneBehaviour = new Proton.CrossZone(new Proton.RectZone(0, 0, canvas.width, canvas.height), "cross");
      emitter.addBehaviour(new Proton.Color("random"));
      emitter.addBehaviour(attractionBehaviour, crossZoneBehaviour);
      emitter.addBehaviour(new Proton.RandomDrift(10, 10, 0.05));
      emitter.p.x = canvas.width / 2;
      emitter.p.y = canvas.height / 2;
      emitter.emit("once");

      this.proton.addEmitter(emitter);
      this.proton.addRenderer(this.createRenderer(canvas));
      this.crossZoneBehaviour = crossZoneBehaviour;
    }
  }, {
github drawcall / Proton / source / src / components / particles / Lines.jsx View on Github external
emitter.rate = new Proton.Rate(250);
    emitter.addInitialize(new Proton.Mass(1));
    emitter.addInitialize(new Proton.Radius(4));
    emitter.addInitialize(
      new Proton.Velocity(
        new Proton.Span(1.5),
        new Proton.Span(0, 360),
        "polar"
      )
    );
    const mouseObj = {
      x: width / 2,
      y: height / 2
    };

    const attractionBehaviour = new Proton.Attraction(mouseObj, 0, 0);
    const crossZoneBehaviour = new Proton.CrossZone(
      new Proton.RectZone(0, 0, canvas.width, canvas.height),
      "cross"
    );
    emitter.addBehaviour(new Proton.Color("random"));
    emitter.addBehaviour(attractionBehaviour, crossZoneBehaviour);
    emitter.addBehaviour(new Proton.RandomDrift(10, 10, 0.05));
    emitter.p.x = canvas.width / 2;
    emitter.p.y = canvas.height / 2;
    emitter.emit("once");

    this.proton.addEmitter(emitter);
    this.proton.addRenderer(this.createRenderer(canvas));
    this.crossZoneBehaviour = crossZoneBehaviour;
  }