matterj模拟雪花重力下落堆积效果代码

代码语言:html

所属分类:其他

代码描述:matterj模拟雪花重力下落堆积效果代码

代码标签: 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