terrain-generator

digital terrain generation and animation
git clone https://tongong.net/git/terrain-generator.git
Log | Files | Refs | README

interface.js (2044B)


      1 var refreshTime = 0;
      2 
      3 function initIconAnimation() {
      4     var reload = document.getElementById("reloadIcon");
      5     var settings = document.getElementById("settingsIcon");
      6     var sizeSlider = document.getElementById("sizeSlider");
      7     var randomSlider = document.getElementById("randomSlider");
      8     var viewSlider = document.getElementById("viewSlider");
      9 
     10     reload.addEventListener("mouseenter", function() {
     11         this.classList.add("animated");
     12     }, false);
     13     reload.addEventListener("animationend", function() {
     14         this.classList.remove("animated");
     15     }, false);
     16     reload.addEventListener("click", function() {
     17         refreshTime = millis();
     18     }, false);
     19     reload.addEventListener('touchstart', function() {
     20         this.classList.add("animated");
     21     }, false);
     22 
     23     settings.addEventListener("mouseenter", function() {
     24         this.classList.add("animated");
     25     }, false);
     26     settings.addEventListener("animationend", function() {
     27         this.classList.remove("animated");
     28     }, false);
     29     settings.addEventListener("click", function() {
     30         var settings = document.getElementById("settings");
     31         if (settings.classList.contains("in")) {
     32             settings.classList.remove("in");
     33         } else {
     34             settings.classList.add("in");
     35         }
     36     }, false);
     37     settings.addEventListener('touchstart', function() {
     38         this.classList.add("animated");
     39     }, false);
     40 
     41     viewSlider.value = 50;
     42     randomSlider.value = 50;
     43     sizeSlider.value = 4;
     44     viewSlider.addEventListener('input', function() {
     45         ANGLE_FACTOR = this.value / 50 + 0.5;
     46         ANGLE = SIZE * ANGLE_FACTOR;
     47     }, false);
     48     randomSlider.addEventListener('change', function() {
     49         RANDOM_FACTOR = this.value / 100;
     50         refreshTime = millis();
     51     }, false);
     52     sizeSlider.addEventListener('change', function() {
     53         if (this.value >= MAX_STATE) {
     54             MAX_STATE = this.value;
     55         } else {
     56             MAX_STATE = this.value;
     57             refreshTime = millis();
     58         }
     59     }, false);
     60 }