Bridge Physics
How do I make an bridge physics?
A bridge example created with the Matter.js physics engine.More Matter.js examples on CodePen: http://codepen.io/collection/Fuagy/. What is a bridge physics? How do you make a bridge physics? This script and codes were developed by Liabru on 30 August 2022, Tuesday.
Bridge Physics - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Bridge Physics</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css"> <link rel="stylesheet" href="css/style.css">
</head>
<body> <!--
Matter.js - Bridge Example
http://brm.io/matter-js/
--> <script src='http://cdn.rawgit.com/liabru/matter-js/d727e8601e689a3aeffd386d6ede3a16243563da/build/matter.js'></script>
<script src='http://cdn.rawgit.com/liabru/matter-tools/0735205dcfc3b07381ea00c1b852e3e1ec7179b4/build/matter-tools.demo.js'></script> <script src="js/index.js"></script>
</body>
</html>
Bridge Physics - Script Codes CSS Codes
* { box-sizing: border-box;
}
body { margin: 0; padding: 0;
}
Bridge Physics - Script Codes JS Codes
// Matter.js - http://brm.io/matter-js/
var Example = Example || {};
Example.bridge = function() { var Engine = Matter.Engine, Render = Matter.Render, Runner = Matter.Runner, Body = Matter.Body, Composites = Matter.Composites, Common = Matter.Common, Constraint = Matter.Constraint, MouseConstraint = Matter.MouseConstraint, Mouse = Matter.Mouse, World = Matter.World, Bodies = Matter.Bodies; // create engine var engine = Engine.create(), world = engine.world; // create renderer var render = Render.create({ element: document.body, engine: engine, options: { width: Math.min(document.documentElement.clientWidth, 800), height: Math.min(document.documentElement.clientHeight, 600), wireframes: false } }); Render.run(render); // create runner var runner = Runner.create(); Runner.run(runner, engine); // add bodies var group = Body.nextGroup(true); var bridge = Composites.stack(150, 300, 9, 1, 10, 10, function(x, y) { return Bodies.rectangle(x, y, 50, 20, { collisionFilter: { group: group } }); }); Composites.chain(bridge, 0.5, 0, -0.5, 0, { stiffness: 0.9 }); var stack = Composites.stack(200, 40, 6, 3, 0, 0, function(x, y) { return Bodies.polygon(x, y, Math.round(Common.random(1, 8)), Common.random(20, 40)); }); World.add(world, [ bridge, Bodies.rectangle(80, 440, 120, 280, { isStatic: true }), Bodies.rectangle(720, 440, 120, 280, { isStatic: true }), Constraint.create({ pointA: { x: 140, y: 300 }, bodyB: bridge.bodies[0], pointB: { x: -25, y: 0 } }), Constraint.create({ pointA: { x: 660, y: 300 }, bodyB: bridge.bodies[8], pointB: { x: 25, y: 0 } }), stack ]); // add mouse control var mouse = Mouse.create(render.canvas), mouseConstraint = MouseConstraint.create(engine, { mouse: mouse, constraint: { stiffness: 0.2, render: { visible: false } } }); World.add(world, mouseConstraint); // keep the mouse in sync with rendering render.mouse = mouse; // fit the render viewport to the scene Render.lookAt(render, { min: { x: 0, y: 0 }, max: { x: 800, y: 600 } }); // context for MatterTools.Demo return { engine: engine, runner: runner, render: render, canvas: render.canvas, stop: function() { Matter.Render.stop(render); Matter.Runner.stop(runner); } };
};
// create demo interface
// not required to use Matter.js
MatterTools.Demo.create({ toolbar: { title: 'matter-js', url: 'https://github.com/liabru/matter-js', reset: true, source: true, fullscreen: true, exampleSelect: true }, preventZoom: true, resetOnOrientation: true, examples: [ { name: 'Bridge', id: 'bridge', init: Example.bridge, sourceLink: 'https://github.com/liabru/matter-js/blob/master/examples/bridge.js' } ]
});
Developer | Liabru |
Username | liabru |
Uploaded | August 30, 2022 |
Rating | 3.5 |
Size | 2,889 Kb |
Views | 99,176 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Lorenz Attractor | 2,107 Kb |
Catapult | 2,784 Kb |
Gears | 3,030 Kb |
Ragdoll | 4,347 Kb |
Slingshot Game | 3,065 Kb |
Avalanche | 2,924 Kb |
Wrecking Ball Physics | 2,798 Kb |
Cars | 2,759 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
A Pen by Stan Williams | Stanssongs | 6,706 Kb |
Portfolio page | Bhavya_j | 2,804 Kb |
Comment Jquery | SquishyAndroid | 2,421 Kb |
Review test | Otro_user_gil | 4,054 Kb |
Obligatory CSS3 UI Nav | Romandiaz | 9,017 Kb |
Animating characters with jQuery | 042 | 2,776 Kb |
Flat UI Button | Honchoman | 2,289 Kb |
Classy Blockquote Styling | Andrewwright | 3,212 Kb |
Local Weather App - FreeCodeCamp | TrevorWelch | 4,134 Kb |
Caputre Cam with JS | KimmoCommit | 2,795 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!