MatterJs 介绍

作者: DiligentLeo | 来源:发表于2018-07-19 11:24 被阅读0次

写在前面

matter.js 是一个2D的javascript物理引擎,主页展示了一些demo。
这里介绍如何创建一个基本的物理世界。

用法

1. html文件中引入

<script src="../build/matter.js"></script>

2. 创建引擎,渲染器,添加世界,生成身体模型。

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

Engine是引擎,Render是渲染器,World是表演环境,Bodies可以用来创建各种形状的物体。

3. 创建引擎实例与引擎世界。

var engine=Engine.create(),
    world=engine.world;

4.创建渲染器实例。

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

render(渲染器)将要渲染的物理引擎是之前所创建的engine,而渲染的对象是html网页的body。

5. 运行渲染器,运行引擎。

Engine.run(engine);
Render.run(render);

Engine和Render是依附于Matter的,而运行run()方法的参数是它们各自所创建的实例。

至此,在网页这测试,如无意外,可看到一个黑色的canvas。 基本的matter.js世界

6.添加物体

var boxA=Bodies.rectangle(500,170,40,260);

由rectangle可以看出,这将是一个矩形物体。

7.将物体添加到World世界之中。

World.add(world,boxA);

这时,再刷新,可以看到一个矩形的物体从生成的地方开始自由落体。


生成了一个矩形

参数(500,170,40,260)中,前两个是物体坐标,后两个分别是宽度和长度。
需要注意的是,这里的坐标系统中,500和170是矩形的中心所在位置,而html的canvas中坐标描述的是矩形的左上角。**

8.生成地面。

var ground=Bodies.rectangle(400,600,600,100,{isStatic:true});

需要修改前面的代码,将ground加入到World中。World.add(world,[boxA,ground]);地面ground同样是一个矩形,不过,可以看到它在生成是比boxA多了一个参数,这个参数是个json对象,字面上很好理解,将isStatic设为true,即是静止的。
这时候,再刷新页面,就是这样的,一个简单的世界,物体遵循自由落体规律。

纯洁的世界

写在后面

这是一个简单的世界,在这个基础上,可以扩展出更复杂的功能。mater.js 还是蛮好用的。

相关文章

  • MatterJs 介绍

    写在前面 matter.js 是一个2D的javascript物理引擎,主页展示了一些demo。这里介绍如何创建一...

  • Runtime介绍---术语介绍

    1. 什么是Runtime Runtime又叫运行时,是一套C语言的API。 我们平时编写的OC代码,底层都是基于...

  • 介绍

    万物终有一天会消失殆尽,诸神出卖黎明,光明为黑暗所湮灭,日月皆痕,海潮鸣泣,幼雏嚎啕,生灵涂炭。 托里奥世纪第20...

  • 介绍😊

    大家好,我是beth,初入简书,不邀自来,还请各位见谅! 先说说我是怎么想着来的吧?这不是刚过了一个寒假嘛...

  • 介绍

    在这个世界上还有三个家族他们不受各个国家联合国管。但他们身上有着使命分别是帝国家族曲国家族圣国家族。他们隐藏在一个...

  • 介绍

    云轩:主角,星罗帝国的二皇子。从小就不能练气,被人们称为废物。直到12岁的时候,自己的武魂觉醒才能练气,双...

  • 介绍

    万花阁 神秘至极的组织,亦正亦邪。万花阁的人行动隐秘,至今未被发现所在地。听说组成成员均以花来命名。所到之处,皆留...

  • 介绍

    此书命曰元.八洲传。属九洲四传第二部。第一部,上古往事。上古往事乃元八洲传外传。前两部为战胜心魔,而第三部,大梦...

  • 介绍

    千肆篇 7月的天气燥热,但在红杏阁里这份燥热就别有一番风味。漫天的胭脂水粉的香味变成了调味剂,女人们千姿百媚,在...

  • 介绍

    该文集属于收录文集,里面的内容不全是本人创作,有收录个人喜欢的内容。 *(偏个人向)

网友评论

本文标题:MatterJs 介绍

本文链接:https://www.haomeiwen.com/subject/oejnyftx.html