4

I am using matter.js to create a simple game where you have to push a ball into the hole.

enter image description here

If I use isStatic: false for ball object, it falls down when game is started. How can I rotate the whole platform so it is horizontal and objects don't fall down but can be pushed?

Sam Carlson
  • 1,891
  • 1
  • 17
  • 44

1 Answers1

1

Disable the gravity;

engine.world.gravity.x = 0;
engine.world.gravity.y = 0;

Docs


Example;

// Matter
var Engine = Matter.Engine,
    Render = Matter.Render,
    World = Matter.World,
    Bodies = Matter.Bodies;

// Engine
var engine = Engine.create();

// Disable gravity
engine.world.gravity.y = 0; 
// engine.world.gravity.x = 0; (Not required in this case)

// Render
var render = Render.create({
    element: document.body,
    engine: engine
});

// Ball
var ball = Bodies.circle(300, 300, 150);

// Add ball
World.add(engine.world, [ ball ]);

// Run
Engine.run(engine);
Render.run(render);
<script src="https://cdnjs.cloudflare.com/ajax/libs/matter-js/0.14.2/matter.min.js"></script>

<body>
0stone0
  • 34,288
  • 4
  • 39
  • 64
  • `engine.world.gravity` should be `engine.gravity` in >= 0.17.0. See https://brm.io/matter-js/docs/classes/Engine.html#property_gravity – ggorlen Aug 17 '22 at 15:47