vue实现树木生长过程效果

代码语言:html

所属分类:动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">

<style>
html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: #000;
  color: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
}
canvas {
  width: 100%;
  height: 100%;
}
#app {
  padding: 1rem;
  display: none;
  background: rgba(0,0,0,0.5);
}
#toggle-label {
  position: fixed;
  top: 0;
  left: 0;
  font-size: 2rem;
}
#toggle {
  width: 0;
  height: 0;
  display: none;
}
#toggle:checked ~ #app {
  display: block;
  position: fixed;
  top: 2rem;
}
</style>

</head>
<body translate="no">
<canvas></canvas>
<label id="toggle-label" for="toggle">☰</label>
<input id="toggle" type="checkbox" />
<form id="app">
<div class="form-group">
<label for="seed">Semilla</label>
<input id="seed" type="number" min="0" v-model="seed" />
</div>
<div class="form-group">
<label for="generations">Generaciones</label>
<input id="generations" type="number" min="3" max="10" v-model="maxGenerations" />
</div>
<div class="form-group">
<label for="steps">Pasos</label>
<input id="steps" type="number" min="3" max="10" v-model="maxSteps" />
</div>
<div class="form-group">
<input id="length-x-generation" type="checkbox" v-model="lengthByGeneration" />
<label for="length-generation">¿Cambia la longitud con la generación?</label>
</div>
<fieldset>
<legend>Ramas</legend>
<div class="form-group">
<label for="branches-min">Ramas por rama (mínimo)</label>
<input type="number" min="1" :max="branchesMax" v-model="branchesMin" />
</div>
<div class="form-group">
<label for="branches-max">Ramas por rama (máximo)</label>
<input type="number" :min="branchesMin" max="10" v-model="branchesMax" />
</div>
<fieldset v-if="lengthByGeneration">
<legend>Longitud por generación</legend>
<div class="form-group">
<label for="lenght-min-x-generation-min">Longitud mínima (mínimo)</label>
<input id="length-min-x-generation-min" type="number" v-model="lengthMinByGenMin" />
</div>
<div class="form-group">
<label for="lenght-min-x-generation-max">Longitud mínima (máximo)</label>
<input id="length-min-x-generation-max" type="number" v-model="lengthMinByGenMax" />
</div>
<div class="form-group">
<label for="lenght-max-x-generation-min">Longitud máxima (mínimo)</label>
<input id="length-max-x-generation-min" type="number" v-model="lengthMaxByGenMin" />
</div>
<div class="form-group">
<label for="lenght-max-x-generation-max">Longitud máxima (máximo)</label>
<input id="length-max-x-generation-max" type="number" v-model="lengthMaxByGenMax" />
</div>
</fieldset>
<fieldset v-else="v-else">
<legend>Longitud</legend>
<div class="form-group">
<label for="lenght-min">Longitud mínima</label>
<input id="length-min" type="number" v-model="lengthMin" />
</div>
<div class="form-group">
<label for="lenght-max">Longitud máxima</label>
<input id="length-max" type="number" v-model="lengthMax" />
</div>
</fieldset>
</fieldset>
<fieldset>
<legend>Hojas</legend>
<div class="form-group">
<label for="leaf-generation">Generación en la que aparecen hojas</label>
<input id="leaf-generation" type="number" v-model="leafGeneration" />
</div>
<div class="form-group">
<label for="leaf-min">Hojas (mínimo)</label>
<input id="leaf-min" type="number" min="0" :max="leafMax" v-model="leafMin" />
</div>
<div class="form-group">
<label for="leaf-max">Hojas (máximo)</label>
<input id="leaf-max" type="number" :min="leafMin" max="10" v-model="leafMax" />
</div>
</fieldset>
<fieldset>
<legend>Raices</legend>
<div class="form-group">
<label for="roots-min">Raíces por raíz (mínimo)</label>
<input type="num.........完整代码请登录后点击上方下载按钮下载查看

网友评论0