From 0623f7b1d94be0513778ae70e7c574a67f743c17 Mon Sep 17 00:00:00 2001 From: Yaroslav <contact@yaroslavps.com> Date: Thu, 31 Jan 2019 15:41:02 +0300 Subject: dvd readme, change ever demo html to index.html --- dvd/README.md | 18 ++++++++++++++++ dvd/dvd.html | 50 -------------------------------------------- dvd/dvd.js | 37 ++++++++------------------------- dvd/index.html | 50 ++++++++++++++++++++++++++++++++++++++++++++ letitsnow/index.html | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ letitsnow/snow.html | 57 --------------------------------------------------- starfield/index.html | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ starfield/stars.html | 58 ---------------------------------------------------- 8 files changed, 191 insertions(+), 194 deletions(-) create mode 100644 dvd/README.md delete mode 100644 dvd/dvd.html create mode 100644 dvd/index.html create mode 100644 letitsnow/index.html delete mode 100644 letitsnow/snow.html create mode 100644 starfield/index.html delete mode 100644 starfield/stars.html diff --git a/dvd/README.md b/dvd/README.md new file mode 100644 index 0000000..ee80d70 --- /dev/null +++ b/dvd/README.md @@ -0,0 +1,18 @@ +# DVD Screensaver # + +Just like the good old days, when you paused that DVD movie for a long time, except now you can watch that sweet old screensaver on demand at any time. + +To start the animation, just call the following function. You can omit passing the options object for the default experience. For it to work, you need to have a canvas object in your HTML document with id #dvd. + +```javascript +playDVD({ + 'speed': 200, + 'colors': [ + "#012fff", + "#ff2190", + "#ce21ff", + "#ffec00", + "#ff8702" + ] +}); +``` diff --git a/dvd/dvd.html b/dvd/dvd.html deleted file mode 100644 index 089788f..0000000 --- a/dvd/dvd.html +++ /dev/null @@ -1,50 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf8"> - <title>DVD Screensaver demo</title> - <script src="dvd.js"></script> -<style> -body, -html{ - margin: 0; - padding: 0; - background-color: #000; - min-height: 100vh; - min-width: 100%; -} - -*{ - box-sizing: border-box; -} - -.canvas-container{ - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - margin: 0; - padding: 0; - overflow: hidden; -} - -#dvd{ - position: absolute; - margin: 0; - padding: 0; - bottom: 0; -} -</style> - <script> - window.addEventListener("load", function(){ - dvdScreensaver({"speed": 210}); - }); - </script> - </head> - <body> - <div class="canvas-container"> - <canvas id="dvd"></canvas> - </div> - </body> -</html> diff --git a/dvd/dvd.js b/dvd/dvd.js index e0b4e38..a0ae45b 100644 --- a/dvd/dvd.js +++ b/dvd/dvd.js @@ -1,5 +1,5 @@ /* -DVD Screensaver JS v0.1.0 +DVD Screensaver JS v1.0.0 Copyright 2018 Yaroslav de la Peña Smirnov All rights reserved. @@ -32,7 +32,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -function dvdScreensaver(options={}){ +function playDVD(options={}){ /* >>> Parameters <<< There are just two customizable parameters The speed in pixels/s @@ -60,6 +60,7 @@ function dvdScreensaver(options={}){ } var container = canvas.parentNode; var ctx = canvas.getContext("2d"); + ctx.fillStyle = colors[0]; ctx.save(); /* >>> State variables <<< @@ -75,7 +76,6 @@ function dvdScreensaver(options={}){ var boundx; var boundy; var last = null; - var currentColor = colors[0]; function randomRange(min, max){ return Math.floor(Math.random() * (max - min - 1)) + min; @@ -108,9 +108,11 @@ function dvdScreensaver(options={}){ else if(py == 0) direction[1] = 1; // Change the color randomly - ctx.restore(); - ctx.fillStyle = colors[randomRange(0, colors.length+1)]; - ctx.save(); + if (colors.length > 1){ + ctx.restore(); + ctx.fillStyle = colors[randomRange(0, colors.length+1)]; + ctx.save(); + } } function initDVD(){ @@ -162,29 +164,6 @@ function dvdScreensaver(options={}){ window.addEventListener("resize", resize); } -// For test purposes -function drawLogo(color="#012fff"){ - var canvas = document.getElementById("dvd"); - if(!canvas){ - console.log("There is no #dvd canvas to draw on! Aborting..."); - return; - } - var container = canvas.parentNode; - var ctx = canvas.getContext("2d"); - ctx.save(); - - canvas.height = parseInt(container.offsetHeight); - canvas.width = parseInt(container.offsetWidth); - - let px = canvas.width - 340; - let py = canvas.height - 154; - ctx.translate(px, py); - ctx.fillStyle = "#012fff"; - ctx.fill(logoPath); - ctx.restore(); - ctx.save(); -} - // This is the path for the logo, it is just a 'd' SVG string // You can easily 'export' the logo to SVG by copying the string to a // 'path' tag's 'd' attribute inside an SVG document with size of 340x154px diff --git a/dvd/index.html b/dvd/index.html new file mode 100644 index 0000000..cdd9dc1 --- /dev/null +++ b/dvd/index.html @@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf8"> + <title>DVD Screensaver demo</title> + <script src="dvd.js"></script> +<style> +body, +html{ + margin: 0; + padding: 0; + background-color: #000; + min-height: 100vh; + min-width: 100%; +} + +*{ + box-sizing: border-box; +} + +.canvas-container{ + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + margin: 0; + padding: 0; + overflow: hidden; +} + +#dvd{ + position: absolute; + margin: 0; + padding: 0; + bottom: 0; +} +</style> + <script> + window.addEventListener("load", function(){ + playDVD({"speed": 210}); + }); + </script> + </head> + <body> + <div class="canvas-container"> + <canvas id="dvd"></canvas> + </div> + </body> +</html> diff --git a/letitsnow/index.html b/letitsnow/index.html new file mode 100644 index 0000000..a2c7779 --- /dev/null +++ b/letitsnow/index.html @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf8"> + <title>Let It Snow demo</title> + <script src="snow.js"></script> +<style> +body, +html{ + margin: 0; + padding: 0; + background-color: #000; + min-height: 100vh; + min-width: 100%; +} + +*{ + box-sizing: border-box; +} + +.canvas-container{ + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + margin: 0; + padding: 0; + overflow: hidden; +} + +#snow{ + position: absolute; + margin: 0; + padding: 0; + bottom: 0; +} +</style> + <script> + window.addEventListener("load", function(){ + letItSnow({ + 'max_particles': 200, + 'base_speed': 200, + 'max_xspeed': 300, + 'max_tradius': 20, + 'max_tduration': 5000, + 'interactive': true, + }); + }); + </script> + </head> + <body> + <div class="canvas-container"> + <canvas id="snow"></canvas> + </div> + </body> +</html> diff --git a/letitsnow/snow.html b/letitsnow/snow.html deleted file mode 100644 index a2c7779..0000000 --- a/letitsnow/snow.html +++ /dev/null @@ -1,57 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf8"> - <title>Let It Snow demo</title> - <script src="snow.js"></script> -<style> -body, -html{ - margin: 0; - padding: 0; - background-color: #000; - min-height: 100vh; - min-width: 100%; -} - -*{ - box-sizing: border-box; -} - -.canvas-container{ - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - margin: 0; - padding: 0; - overflow: hidden; -} - -#snow{ - position: absolute; - margin: 0; - padding: 0; - bottom: 0; -} -</style> - <script> - window.addEventListener("load", function(){ - letItSnow({ - 'max_particles': 200, - 'base_speed': 200, - 'max_xspeed': 300, - 'max_tradius': 20, - 'max_tduration': 5000, - 'interactive': true, - }); - }); - </script> - </head> - <body> - <div class="canvas-container"> - <canvas id="snow"></canvas> - </div> - </body> -</html> diff --git a/starfield/index.html b/starfield/index.html new file mode 100644 index 0000000..9c7d0f2 --- /dev/null +++ b/starfield/index.html @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf8"> + <title>Starfield demo</title> + <script src="stars.js"></script> +<style> +body, +html{ + margin: 0; + padding: 0; + background-color: #000; + min-height: 100vh; + min-width: 100%; +} + +*{ + box-sizing: border-box; +} + +.canvas-container{ + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + margin: 0; + padding: 0; + overflow: hidden; +} + +#stars{ + position: absolute; + margin: 0; + padding: 0; + bottom: 0; +} + +</style> + <script> + window.addEventListener("load", function(){ + warpLaunch({ + 'max_particles': 1500, + 'speed': 70, + 'step': 10, + 'interactive': true, + 'color': true, + }); + }); + </script> + </head> + <body> + <div class="canvas-container"> + <canvas id="stars"></canvas> + </div> + </body> +</html> + diff --git a/starfield/stars.html b/starfield/stars.html deleted file mode 100644 index 9c7d0f2..0000000 --- a/starfield/stars.html +++ /dev/null @@ -1,58 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta charset="utf8"> - <title>Starfield demo</title> - <script src="stars.js"></script> -<style> -body, -html{ - margin: 0; - padding: 0; - background-color: #000; - min-height: 100vh; - min-width: 100%; -} - -*{ - box-sizing: border-box; -} - -.canvas-container{ - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; - margin: 0; - padding: 0; - overflow: hidden; -} - -#stars{ - position: absolute; - margin: 0; - padding: 0; - bottom: 0; -} - -</style> - <script> - window.addEventListener("load", function(){ - warpLaunch({ - 'max_particles': 1500, - 'speed': 70, - 'step': 10, - 'interactive': true, - 'color': true, - }); - }); - </script> - </head> - <body> - <div class="canvas-container"> - <canvas id="stars"></canvas> - </div> - </body> -</html> - -- cgit v1.2.3