matterj模拟雪花重力下落堆积效果代码
代码语言:html
所属分类:其他
代码描述:matterj模拟雪花重力下落堆积效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> * { padding:0; margin:0; box-sizing:border-box; } #canvas{ background: conic-gradient(from .66turn at bottom center, #1C2155, #38446f) } #notes hr{ margin:4px 0px; border: 0.25px solid rgba(255,255,255,0.21); } #notes{ height: 15vh; /* display:none; */ font-family: 'Montserrat', sans-serif; font-weight:300; position:absolute; max-width:300px; z-index:10; top:0; left:0; background-color:rgba(0,0,0,0.42); padding:8px; margin:8px; border-radius:4px; font-size:0.75rem; color:lightgrey; box-shadow: 0 1px 1px rgba(0,0,0,0.11), 0 2px 2px rgba(0,0,0,0.12), 0 4px 4px rgba(0,0,0,0.02), 0 8px 8px rgba(0,0,0,0.12), 0 16px 12px rgba(0,0,0,0.12); } </style> </head> <body > <div id="canvas"></div> <div id="notes"> <h3>Snowflake Bentley</h3> <hr> <quote>Wilson Alwyn Bentley was the first person to take extensive photographs of snowflakes.<p/><p> He was the first to proclaim that no two snowflakes are alike: </p> <br/><br/><quote> </div> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/matter.0.17.1.js"></script> <script > // let canvas = document.getElementById("canvas"), w = canvas.width = window.innerWidth, h = canvas.height = window.innerHeight; let init = () => { // let Engine = Matter.Engine, Render = Matter.Render, Runner = Matter.Runner, Composites = Matter.Composites, Common = Matter.Common, MouseConstraint = Matter.MouseConstraint, Mouse = Matter.Mouse, World = Matter.World, Bodies = Matter.Bodies; // create engine let engine = Engine.create(), world = engine.world; // create renderer let render = Render.create({ element: canvas, engine: engine, options: { width: w, height: h, showAngleIndicator: false, wireframes: false, background: '' } }); // Render.run(render); // create runner let runner = Runner.create(); Runner.run(runner, engine); // add bodies // Matter.Composites.stack(xx, yy, columns, rows, columnGap, rowGap, callback) let stack = Composites.stack(0, 0, w / 15, 10, 2, 2, (x, y) => { switch (Math.round(Common.random(0, 5))) { case 0: return Bodies.circle(x, y, 10, { render: { sprite: { texture: setImgSrc0() } } }); case 1: return Bodies.circle(x, y, 8, { render: { sprite: { texture: setImgSrc1() } } }); case 2: return Bodies.circle(x, y, 8, { render: { sprite: { texture: setImgSrc2() } } }); case 3: return Bodies.circle(x, y, 8, { render: { sprite: { texture: setImgSrc3() } } }); case 4: return Bodies.circle(x, y, 8, { render: { sprite: { texture: setImgSr.........完整代码请登录后点击上方下载按钮下载查看
网友评论0