Conçu en HTML5 et JavaScript
Matter.js est un moteur 2D physique stable et souple de manipulation et interaction de corps rigides pour les navigateurs. Conçu en HTML5 et JavaScript, il s'appuie sur divers algorithmes comme Verlet integration, la détection des grilles et des collisions (phases broad et mid AABB), la détection du sens et de l'orientation (SAT), des simulations physiques, etc.
D'autres outils du genre existent mais son auteur, Liam Brummitt, a écrit un code propre et facile à lire qui le démarque peut-être des autres. Son travail vient à l'origine d'une étude de la programmation des jeux.
En voici un aperçu :
Code javascript : | Sélectionner tout |
1 2 3 4 5 6 7 | var Bodies = Matter.Bodies; var Engine = Matter.Engine; var engine = Engine.create(container, options); var World = Matter.World; World.addBody(engine.world, Bodies.rectangle(300, 180, 700, 20, { isStatic: true, angle: Math.PI * 0.06 })); World.addBody(enigne.world, Bodies.rectangle(300, 70, 40, 40, { friction: 0.001 })); |
Ce moteur vous permet de jouer entre autres sur :
- la masse ;
- l'aire ;
- la densité ;
- la forme ;
- l'élasticité ;
- la résistance ;
- la gravité ;
- la mobilité ;
- etc.
En tout cas, le résultat en vaut la peine. Jugez par vous-même sur la page de démonstrations que vous pouvez paramétrer : démonstrations de Matter.js.
Site officiel.
Source : d'après un article paru sur DailyJS.