matter.js学习笔记(一)

写在前面

matter.js QQ交流群:796728825
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 还是蛮好用的。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以在Vue项目中使用npm安装matter.js,然后在Vue组件中引入该库。具体步骤如下: 1. 在终端或命令行中进入Vue项目根目录,执行以下命令安装matter.js: ``` npm install matter-js ``` 2. 在需要使用matter.js的组件中引入该库,例如在src/components/MyComponent.vue文件中: ``` <script> import Matter from 'matter-js' export default { name: 'MyComponent', mounted() { // 在这里可以使用Matter对象中提供的API进行物理模拟等操作 } } </script> ``` 这样就可以在Vue项目中使用matter.js库了。需要注意的是,在使用该库之前,需要先了解该库的使用方法和API文档。 ### 回答2: 在Vue项目中引入Matter.js是非常简单的。首先,你需要在Vue项目中安装Matter.js库。可以在终端中使用npm或者yarn命令来安装: ``` npm install matter-js ``` 或 ``` yarn add matter-js ``` 安装完成后,你可以在Vue组件中引入Matter.js库。首先,你需要在组件的<script>标签中使用import语句引入Matter.js: ```javascript import Matter from 'matter-js'; ``` 然后,你可以在Vue组件的生命周期钩子函数(如mounted)中使用Matter.js的功能。例如,你可以在组件挂载后创建一个物理引擎和物体: ```javascript export default { mounted() { const Engine = Matter.Engine; const World = Matter.World; const Bodies = Matter.Bodies; const engine = Engine.create(); const world = engine.world; const box = Bodies.rectangle(200, 200, 80, 80); World.add(world, box); Engine.run(engine); }, }; ``` 在上面的例子中,我们创建了一个物理引擎和一个矩形物体,并将物体添加到物理世界中。然后,我们使用Engine.run()方法来启动物理引擎。 这是一个简单的例子,演示了在Vue项目中引入Matter.js库的基本过程。当然,你可以根据需要进一步使用Matter.js提供的丰富功能来创建更复杂的物理场景。 ### 回答3: 在Vue中引入matter.js需要以下几个步骤: 首先,需要在项目中安装matter.js。可以使用npm或者yarn命令来进行安装,具体命令如下: ``` npm install matter-js ``` 或者 ``` yarn add matter-js ``` 然后,在需要引入matter.js的组件中,通过import语句引入matter.js的库文件。在Vue单文件组件中,可以在script标签中添加以下代码: ```javascript import Matter from 'matter-js' ``` 接下来,可以在Vue组件中使用matter.js提供的功能。例如,可以在组件的mounted生命周期钩子函数中初始化matter.js引擎,并创建物理世界和物体等。下面是一个简单的示例代码: ```javascript mounted() { const Engine = Matter.Engine; const World = Matter.World; const Bodies = Matter.Bodies; // 创建一个matter.js引擎 const engine = Engine.create(); // 创建一个物理世界 const world = engine.world; // 创建一个物体 const box = Bodies.rectangle(200, 200, 80, 80); // 将物体加入到物理世界中 World.add(world, box); } ``` 最后,可以在Vue组件的模板中使用matter.js创建的物体。例如,可以通过canvas标签来展示物体。在template标签中,可以添加一段代码来显示canvas,并利用matter.js提供的渲染器来渲染物体。以下是一个简单的示例代码: ```html <template> <div> <canvas ref="canvas"></canvas> </div> </template> <script> export default { mounted() { // 获取canvas元素 const canvas = this.$refs.canvas; // 创建matter.js渲染器 const Render = Matter.Render; // 设置渲染器 const render = Render.create({ element: canvas, engine: engine, options: { width: 800, height: 600 } }); // 运行渲染器 Render.run(render); } } </script> ``` 通过以上步骤,就可以在Vue项目中引入matter.js,并使用它提供的物理引擎功能来创建和渲染物体了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值