Matter.js基于 Web 的 2D 图形引擎
Matter.js 是一个基于 Web 的 2D 图形引擎。
特性:
-
物理属性(质量、面积、密度等)
-
任何凸多边形的刚体
-
稳定的叠加和 resting
-
碰撞 (broad-phase, mid-phase and narrow-phase)
-
Restitution (elastic and inelastic collisions)
-
Conservation of momentum
-
Friction and resistance
-
Constraints
-
Gravity
-
Composite bodies
-
Sleeping and static bodies
-
Events
-
Rounded corners (chamfering)
-
Views (translate, zoom)
-
Collision queries (raycasting, region tests)
-
Time scaling (slow-mo, speed-up)
-
Canvas renderer (supports vectors and textures)
-
WebGL renderer (requires pixi.js)
-
MatterTools for creating, testing and debugging worlds
-
World state serialisation (requires resurrect.js)
-
Cross-browser (Chrome, Firefox, Safari, IE8+)
-
Mobile-compatible (touch, responsive)
-
An original JavaScript physics implementation (not a port)
示例代码:
// Matter.js module aliases
var Engine = Matter.Engine,
World = Matter.World,
Bodies = Matter.Bodies;
// create a Matter.js engine
var engine = Engine.create(document.body);
// create two boxes and a ground
var boxA = Bodies.rectangle(400, 200, 80, 80);
var boxB = Bodies.rectangle(450, 50, 80, 80);
var ground = Bodies.rectangle(400, 610, 810, 60, { isStatic: true });
// add all of the bodies to the world
World.add(engine.world, [boxA, boxB, ground]);
// run the engine
Engine.run(engine);
评论
