Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. var Example = Example || {};
  2.  
  3. Example.airFriction = function() {
  4. var Engine = Matter.Engine,
  5. Render = Matter.Render,
  6. Runner = Matter.Runner,
  7. MouseConstraint = Matter.MouseConstraint,
  8. Mouse = Matter.Mouse,
  9. World = Matter.World,
  10. Bodies = Matter.Bodies;
  11.  
  12. // create engine
  13. var engine = Engine.create(),
  14. world = engine.world;
  15.  
  16. // create renderer
  17. var render = Render.create({
  18. element: document.body,
  19. engine: engine,
  20. options: {
  21. width: 800,
  22. height: 600,
  23. showVelocity: true,
  24. background: '#4a918e',
  25. showAngleIndicator: false,
  26. wireframes: false
  27. }
  28. });
  29.  
  30. Render.run(render);
  31.  
  32. // create runner
  33. var runner = Runner.create();
  34. Runner.run(runner, engine);
  35.  
  36. // add bodies
  37. World.add(world, [
  38. // falling blocks
  39. Bodies.rectangle(200, 100, 60, 60, { frictionAir: 0.01, restitution: 1.2 }),
  40. Bodies.rectangle(400, 100, 60, 60, { frictionAir: 0.001, restitution: 1 }),
  41. Bodies.rectangle(600, 100, 60, 60, { frictionAir: 0.05, restiturion: 2 }),
  42.  
  43. // walls
  44. Bodies.rectangle(400, 0, 800, 50, { isStatic: true }),
  45. Bodies.rectangle(400, 600, 800, 50, { isStatic: true }),
  46. Bodies.rectangle(800, 300, 50, 600, { isStatic: true }),
  47. Bodies.rectangle(0, 300, 50, 600, { isStatic: true })
  48. ]);
  49.  
  50. // add mouse control
  51. var mouse = Mouse.create(render.canvas),
  52. mouseConstraint = MouseConstraint.create(engine, {
  53. mouse: mouse,
  54. constraint: {
  55. stiffness: 0.2,
  56. render: {
  57. visible: false
  58. }
  59. }
  60. });
  61.  
  62. World.add(world, mouseConstraint);
  63.  
  64. // keep the mouse in sync with rendering
  65. render.mouse = mouse;
  66.  
  67. // fit the render viewport to the scene
  68. Render.lookAt(render, {
  69. min: { x: 0, y: 0 },
  70. max: { x: 800, y: 600 }
  71. });
  72.  
  73. // context for MatterTools.Demo
  74. return {
  75. engine: engine,
  76. runner: runner,
  77. render: render,
  78. canvas: render.canvas,
  79. stop: function() {
  80. Matter.Render.stop(render);
  81. Matter.Runner.stop(runner);
  82. }
  83. };
  84. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement