Render.create

1、create 方法用于创建新的渲染器。option 参数是一个对象,用于指定要覆盖的默认属性值。所有属性都有默认值,许多属性值都是根据其他属性自动预先计算而得到。

2、Matter.Render.create([options])  函数源码如下。

 /*** Creates a new renderer. The options parameter is an object that specifies any properties you wish to override the defaults.* All properties have default values, and many are pre-calculated automatically based on other properties.* See the properties section below for detailed information on what you can pass via the `options` object.* @method create* @param {object} [options]* @return {render} A new renderer*/
Render.create = function(options) {var defaults = {controller: Render,engine: null,element: null,canvas: null,mouse: null,frameRequestId: null,options: {width: 800,height: 600,pixelRatio: 1,background: '#18181d',wireframeBackground: '#0f0f13',hasBounds: !!options.bounds,enabled: true,wireframes: true,showSleeping: true,showDebug: false,showBroadphase: false,showBounds: false,showVelocity: false,showCollisions: false,showSeparations: false,showAxes: false,showPositions: false,showAngleIndicator: false,showIds: false,showShadows: false,showVertexNumbers: false,showConvexHulls: false,showInternalEdges: false,showMousePosition: false}};

options

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><title>Matter-JS</title><!--matter-js cdnjs地址--><script src="https://cdnjs.cloudflare.com/ajax/libs/matter-js/0.12.0/matter.js"></script><!--<script src="../js/matter_0.14.2.js"></script>--><script type="text/javascript">var stageWidth = 800;//舞台宽度var stageHeight = 500;//舞台高度window.onload = function () {var Engine = Matter.Engine;//引擎var Render = Matter.Render;//渲染器var World = Matter.World;//世界var MouseConstraint = Matter.MouseConstraint;//鼠标控制var Bodies = Matter.Bodies;//物体var Composites = Matter.Composites;//符合材料var Composite = Matter.Composite;//混合体var Common = Matter.Common;//公用模块var engine = Engine.create();//创建引擎var render = Render.create({//创建渲染器engine: engine,//渲染创建好的引擎/**渲染页面的body元素,即会在body标签自动新建<canvas>画布,同理如果element的值是某个div元素-* 则会在div下自动新建canvas,canvas的尺寸是options中的width、height* */element: document.body,options: {width: stageWidth,//画布的宽度height: stageHeight,//画布的高度wireframes: true,//线框模式,默认false不使用线框模式showAngleIndicator: true,//是否显示角度,默认falseshowVelocity: true,//是否显示速度,默认falseshowCollisions: true,//是否显示碰撞点,默认falseshowBroadphase: true,//是否显示宽频,用于调试,默认falseshowMousePosition: false // 鼠标约束线}});Engine.run(engine);//运行引擎Render.run(render);//运行渲染器/**设置鼠标控制*/var mouseConstraint = MouseConstraint.create(engine, {});var stack = Composites.stack(20, 20, 12, 4, 0, 0, function (x, y) {switch (Math.round(Common.random(0, 1, 2))) {/**为0时创建矩形*/case 0:return Bodies.rectangle(x, y, Common.random(20, 50), Common.random(20, 50));/**为1时创建多边形*/case 1:return Bodies.polygon(x, y, Math.round(Common.random(1, 8)), Common.random(20, 50));/**为2时创建圆形*/case 2:return Bodies.circle(x, y, Common.random(5, 20));}});/**将物体形以及鼠标控制添加到世界中*/World.add(engine.world, [mouseConstraint, stack]);World.add(engine.world, create4Wall(Bodies));//为世界4周添加4面墙}/**创建4面墙-强制物体在墙内运动*/function create4Wall(Bodies) {var ground_top = Bodies.rectangle(stageWidth / 2, 0, stageWidth, 40, {isStatic: true});var ground_right = Bodies.rectangle(stageWidth, stageHeight / 2, 40, stageHeight, {isStatic: true});var ground_bottom = Bodies.rectangle(stageWidth / 2, stageHeight, stageWidth, 40, {isStatic: true});var ground_left = Bodies.rectangle(0, stageHeight / 2, 40, stageHeight, {isStatic: true});return [ground_top, ground_right, ground_bottom, ground_left];}</script>
</head>
<body>
</body>
</html>

当渲染的是body的元素时,则matter-js自动就是在body元素下生成画布进行绘制。

Matter-JS Render.create 渲染器创建相关推荐

  1. 【一统江湖的大前端(8)】matter.js 经典物理

    [一统江湖的大前端(8)]matter.js 经典物理 我的github主页:https://github.com/dashnowords 我的新书上架啦,3天即登京东计算机编程语言类排行榜Top1! ...

  2. 【华为云技术分享】【一统江湖的大前端(8)】matter.js 经典物理

    [摘要] 介绍前端物理引擎matterjs基本使用及实战 示例代码托管在:http://www.github.com/dashnowords/blogs  在前端开发领域,物理引擎是一个相对小众的话题 ...

  3. c4d支持mac系统渲染器有哪些_C4D Octane Render渲染器 V4.0-RC7-R4 for C4D R15-R19-R20 Win/Mac...

    C4D Octane Render渲染器 V4.0-RC7-R4 for C4D R15-R19-R20 Win/Mac C4D Octane Render渲染器 V4.0-RC7-R4 for C4 ...

  4. 物理世界的互动之旅:Matter.js入门指南

    点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 本文简介 戴尬猴,我是德育处主任 欢迎来到<物理世界的互动之旅:Matter.js入门指南>. 本文将带您探索 Matter. ...

  5. threejs相机和渲染器

    渲染器 渲染器其实代表的是canvas标签. 渲染器的类型 WebGLRender 使用WebGL来渲染图形,速度较快,但是有些机器不支持WebGL. CanvasRender 使用canvas2d来 ...

  6. 7 c4d r20对win_OC渲染器Octane Render V4.0-RC7-R4 for C4D R15-R19-R20 Win/Mac

    OC渲染器Octane Render V4.0-RC7-R4 for C4D R15-R19-R20 Win/Mac Octane Render 4是世界上第一款和最快的GPU加速,无偏差,物理渲染器 ...

  7. 渲染器 render

    最近在看<vue.js 设计与实现>,看到了虚拟 DOM 这里,做了个笔记 文章目录 1.VNode虚拟DOM节点 2.render工作原理 3.代码实现 4.render拓展 1.VNo ...

  8. Three.js之渲染器

    本篇文章将详细讲解three.js中渲染器(renderer)的设置方法. three.js文档中渲染器的分支如下: Renderers CanvasRenderer DOMRenderer SVGR ...

  9. UE4文本渲染器Text Render技巧与支持中文

    UE4文本渲染器Text Render技巧与支持中文 首先来支持中文 在目录中新建Font 修改类型 选择天下第一的思源字体 字号根据字体,选择生成以后能看清的最小 大小 字号太小会模糊,太大占资源 ...

  10. 渲染测试软件 d15,D5 Render(D5 渲染器)1.7.0 正式版发布 | 一款 RTX 实时光线追踪可视化实时渲染引擎,而且是国产软件!...

    长期的 Beta版公测后,D5 渲染器终于正式对外发布!最新的正式版是1.7.0.正式版将由免费版+付费增值服务这样的方式进行对外销售.另外最新还新增了社区免费版(社区免费版功能上有一点限制:无法渲染 ...

最新文章

  1. SharePoint SiteCollection 和SubWeb之间的迁移
  2. HashTable 使用例子
  3. android的33种常用组件1
  4. 经典算法题每日演练——第二十一题 十字链表
  5. idea gui插件_给 IDEA 换了酷炫的主题,研发小姐姐看到:feel so high。。。
  6. 【华为云技术分享】文字识别服务(OCR)基于对抗样本的模型可信安全威胁分析初析
  7. JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML***
  8. shell脚本一行太长,使用\换行
  9. Java将String型字符串转换成int型(或int型数组)
  10. webrtc VAD 算法
  11. bps和pps各自是什么意思?
  12. 删除node_modules慢【rimraf】
  13. 怎样读书(繁体版)读书笔记
  14. 常见的计算机局域网络的拓扑结构是,局域网常见的拓扑结构有哪三种
  15. JVM笔记(三)类与类加载
  16. 云服务器 文件管理,云服务器如何管理文件
  17. word文档点击打印,目录页码却全是2的原因分析及解决办法
  18. 一卡通系统中的前置机的设置
  19. Torrent Freak 点评十大 Torrent 站点 BTbt 站点
  20. 裁员还不够,GitHub 要求全员转 Teams 惹开发者吐槽!

热门文章

  1. sql server 2000:不能打开到主机的连接,在端口1433:连接失败
  2. 拓端tecdat:R语言KMEANS均值聚类和层次聚类:亚洲国家地区生活幸福质量异同可视化分析和选择最优聚类数
  3. 拓端tecdat|WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
  4. Java和C语言动态构造int数组
  5. 软件实习周软件设计报告
  6. 【图像处理】hough变换_检测直线
  7. 初中数学知识点总结_初中数学函数知识点总结
  8. python for a,b in c
  9. APICloud构建APK个文件作用说明
  10. 数据分析:使用Imblearn处理不平衡数据(过采样、欠采样)