0
0
Fork 0
mirror of https://github.com/liabru/matter-js.git synced 2024-12-25 13:39:06 -05:00

added Example.attractors

This commit is contained in:
liabru 2016-09-03 23:27:44 +01:00
parent 59bfa0b4eb
commit 758bbe831f
3 changed files with 53 additions and 6 deletions

View file

@ -61,6 +61,7 @@
<option value="avalanche">Avalanche</option> <option value="avalanche">Avalanche</option>
<option value="softBody">Basic Soft Bodies</option> <option value="softBody">Basic Soft Bodies</option>
<option value="cloth">Cloth</option> <option value="cloth">Cloth</option>
<option value="attractors">Attractors (Plugin)</option>
<option value="events">Events</option> <option value="events">Events</option>
<option value="collisionFiltering">Collision Filtering</option> <option value="collisionFiltering">Collision Filtering</option>
<option value="sensors">Sensors</option> <option value="sensors">Sensors</option>

View file

@ -56,12 +56,6 @@
var demo = Demo.create(); var demo = Demo.create();
Matter.Demo._demo = demo; Matter.Demo._demo = demo;
Matter.use(
'matter-plugin-fake',
'matter-plugin-2',
window.MatterPlugin
);
// get container element for the canvas // get container element for the canvas
demo.container = document.getElementById('canvas-container'); demo.container = document.getElementById('canvas-container');

52
examples/attractors.js Normal file
View file

@ -0,0 +1,52 @@
(function() {
var World = Matter.World,
Bodies = Matter.Bodies,
Body = Matter.Body,
Common = Matter.Common;
Example.attractors = function(demo) {
var engine = demo.engine,
world = engine.world;
Matter.use(
'matter-gravity',
'matter-world-wrap'
);
world.bounds = {
min: { x: 0, y: 0 },
max: { x: 800, y: 600 }
};
world.bodies = [];
world.gravity.scale = 0;
var G = 0.001;
for (var i = 0; i < 200; i += 1) {
var body = Bodies.circle(
Common.random(10, 790),
Common.random(10, 590),
Common.random(4, 10),
{
mass: Common.random(10, 20),
gravity: G,
frictionAir: 0
}
);
Body.setVelocity(body, {
x: Common.random(-2, 2),
y: Common.random(-2, 2)
});
World.add(world, body);
}
var renderOptions = demo.render.options;
renderOptions.showAngleIndicator = false;
renderOptions.showPositions = true;
};
})();