├── README.md ├── code ├── android-circles.js ├── gifissue.js ├── iris-bolgrootte.js ├── iris-hartster.js ├── iris-hearts.js ├── iris-shapes.js ├── iris-shapes2.js ├── iris-stars.js ├── roy-10kdotgrid.js ├── roy-10kdots.js ├── roy-balldance.js ├── roy-beziers.js ├── roy-beziersines-controlpoints.js ├── roy-beziersines.js ├── roy-birdcage.js ├── roy-biscuit.js ├── roy-blackstar.js ├── roy-blasters.js ├── roy-bokeh-video.js ├── roy-bokeh2-notext-video.js ├── roy-bokeh2-video.js ├── roy-bounce.js ├── roy-boxedrays.js ├── roy-bright.js ├── roy-chaos.js ├── roy-colorflower.js ├── roy-concentric-circles.js ├── roy-corner.js ├── roy-corona.js ├── roy-creature.js ├── roy-crescents.js ├── roy-crosswind.js ├── roy-cubes.js ├── roy-curvedlines.js ├── roy-diamonds.js ├── roy-disperse.js ├── roy-dotdance.js ├── roy-dotgrid.js ├── roy-dust.js ├── roy-electrons.js ├── roy-elegance.js ├── roy-fireflies.js ├── roy-flair.js ├── roy-flame.js ├── roy-groovy.js ├── roy-hearts.js ├── roy-hexagon.js ├── roy-hexagon2.js ├── roy-interference-video.js ├── roy-interference-video2.js ├── roy-interference.js ├── roy-interference2.js ├── roy-lego.js ├── roy-lego2.js ├── roy-linecircle.js ├── roy-logo-still.js ├── roy-logo.js ├── roy-mandala.js ├── roy-marquee.js ├── roy-memegen.js ├── roy-merrychristmas.js ├── roy-moire.js ├── roy-mosaic.js ├── roy-nova.js ├── roy-olympic.js ├── roy-packages.js ├── roy-paint.js ├── roy-parenting.js ├── roy-pattern.js ├── roy-pixels.js ├── roy-pixels2.js ├── roy-pixels3.js ├── roy-poly.js ├── roy-present.js ├── roy-pulsar.js ├── roy-radar.js ├── roy-rating.js ├── roy-rects.js ├── roy-segments.js ├── roy-segments2.js ├── roy-segments3.js ├── roy-semicircles.js ├── roy-shading.js ├── roy-shadowdots.js ├── roy-shapeshift.js ├── roy-silk.js ├── roy-singlestar.js ├── roy-snowflakes.js ├── roy-soap.js ├── roy-soap2.js ├── roy-soap3.js ├── roy-sprites.js ├── roy-sprites2.js ├── roy-squaredance.js ├── roy-stars.js ├── roy-starwave.js ├── roy-swarm.js ├── roy-tablecloth.js ├── roy-tablecloth2.js ├── roy-tablecloth3.js ├── roy-tentacles.js ├── roy-textspiral.js ├── roy-touchingballs.js ├── roy-touchingballs2.js ├── roy-tribble.js ├── roy-typo.js ├── roy-vault.js ├── roy-velvet.js ├── roy-walkcycle.js ├── roy-warp.js ├── roy-wavelines.js ├── roy-waves.js ├── roy.js └── unsuccessful │ ├── roy-lavalamp.js │ └── roy-weirdbubble.js └── images ├── lianne-square.png ├── lianne-tiny.png ├── lianne.jpg ├── lianne.png ├── lianne2-square.png ├── lianne2-square2.png ├── lianne2-square3.png ├── lianne2-tiny.png ├── lianne2.jpg ├── lianne3-eyes.png ├── lianne3-square.png ├── lianne3-square80.png ├── lianne3.jpg ├── nike_swoosh.png ├── solo.png ├── solo.webp ├── solo80.png └── sprite.png /README.md: -------------------------------------------------------------------------------- 1 | # gifloopcoder-scripts 2 | 3 | A collection of random experiments made with Bit101's gifloopcoder 4 | 5 | See https://github.com/bit101/gifloopcoder 6 | 7 | To run these: 8 | 9 | * Copy the scripts to gifloopcoder's "sketches/code" folder, and open the index.html file in glc's folder. 10 | * Or clone this repository "next to" gifloopcoder (so they're side by side in the same parent folder), and open the index.html from this repository. 11 | 12 | Enjoy! 13 | -------------------------------------------------------------------------------- /code/android-circles.js: -------------------------------------------------------------------------------- 1 | function onGLC(glc) { 2 | glc.loop(); 3 | glc.size( 600, 600 ); 4 | glc.setDuration( 4 ); 5 | glc.setFPS( 25 ); 6 | glc.setMode('single'); 7 | glc.setEasing( false ); 8 | var list = glc.renderList, 9 | width = glc.w, 10 | height = glc.h, 11 | color = glc.color; 12 | 13 | // your code goes here: 14 | glc.styles.backgroundColor = '#000'; 15 | var colors = [ 16 | 'magenta', 17 | 'yellow', 18 | 'cyan' 19 | ]; 20 | 21 | for( var i=0; i Math.PI/4 ){ a = (Math.PI/2) - a; } 46 | var l = size / Math.cos( a ); 47 | return l; 48 | }, 49 | lineWidth: 2.25, 50 | phase: i/nr, 51 | speedMult: 1/nr, 52 | }); 53 | } 54 | 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /code/roy-bright.js: -------------------------------------------------------------------------------- 1 | function onGLC(glc) { 2 | glc.loop(); 3 | glc.size(600, 400); 4 | glc.setDuration(2); 5 | glc.setFPS(25); 6 | glc.setMode('single'); 7 | glc.setEasing(false); 8 | var list = glc.renderList, 9 | width = glc.w, 10 | height = glc.h, 11 | color = glc.color; 12 | 13 | // your code goes here: 14 | glc.styles.backgroundColor = '#333f49'; 15 | var nr = 12500; 16 | var size = 350; 17 | var margin = 100; 18 | 19 | for( var i=0; i0.75 ){ 20 | if( t > 0.75 ){ t = t -0.5; } 21 | return 325 - Math.sin( Math.PI*t*2 ) * 275; 22 | } else { 23 | return 50; 24 | } 25 | }; 26 | 27 | var ga = function(t){ 28 | return 1; 29 | }; 30 | 31 | var ss = function(t){ 32 | var f = 1-Math.sin( Math.PI * t ); 33 | var r = this._r + f * ( 255-this._r ); 34 | var g = this._g + f * ( 255-this._g ); 35 | var b = this._b + f * ( 255-this._b ); 36 | return color.rgb( r, g, b ); 37 | } 38 | 39 | var container = list.addContainer({ 40 | x: width / 2, 41 | y: height / 2 - 10, 42 | globalAlpha: function(t){ 43 | return Math.sin( Math.PI*t ); 44 | } 45 | }); 46 | 47 | var blue1 = list.addCircle({ 48 | x: -120, 49 | y: -25, 50 | radius: rad, 51 | stroke: true, 52 | strokeStyle: ss, 53 | _r: 0, 54 | _g: 133, 55 | _b: 199, 56 | fill: false, 57 | lineWidth: lw, 58 | startAngle: 45, 59 | endAngle: 235, 60 | globalAlpha: ga, 61 | parent: container 62 | }); 63 | 64 | var yellow1 = list.addCircle({ 65 | x: -60, 66 | y: 25, 67 | radius: rad, 68 | stroke: true, 69 | strokeStyle: ss, 70 | _r: 244, 71 | _g: 195, 72 | _b: 0, 73 | fill: false, 74 | lineWidth: lw, 75 | startAngle: -45, 76 | endAngle: 135, 77 | globalAlpha: ga, 78 | parent: container 79 | }); 80 | 81 | var red1 = list.addCircle({ 82 | x: 120, 83 | y: -25, 84 | radius: rad, 85 | stroke: true, 86 | strokeStyle: ss, 87 | _r: 223, 88 | _g: 0, 89 | _b: 36, 90 | fill: false, 91 | lineWidth: lw, 92 | startAngle: 135, 93 | endAngle: 135+180, 94 | globalAlpha: ga, 95 | parent: container 96 | }); 97 | 98 | var green1 = list.addCircle({ 99 | x: 60, 100 | y: 25, 101 | radius: rad, 102 | stroke: true, 103 | strokeStyle: ss, 104 | _r: 0, 105 | _g: 159, 106 | _b: 61, 107 | fill: false, 108 | lineWidth: lw, 109 | startAngle: -135, 110 | endAngle: 45, 111 | globalAlpha: ga, 112 | parent: container 113 | }); 114 | 115 | var black = list.addCircle({ 116 | x: -0, 117 | y: -25, 118 | radius: rad, 119 | stroke: true, 120 | strokeStyle: ss, 121 | _r: 0, 122 | _g: 0, 123 | _b: 0, 124 | fill: false, 125 | lineWidth: lw, 126 | globalAlpha: ga, 127 | parent: container 128 | }); 129 | 130 | var red2 = list.addCircle({ 131 | x: 120, 132 | y: -25, 133 | radius: rad, 134 | stroke: true, 135 | strokeStyle: ss, 136 | _r: 223, 137 | _g: 0, 138 | _b: 36, 139 | fill: false, 140 | lineWidth: lw, 141 | startAngle: -45, 142 | endAngle: 135, 143 | globalAlpha: ga, 144 | parent: container 145 | }); 146 | 147 | var yellow2 = list.addCircle({ 148 | x: -60, 149 | y: 25, 150 | radius: rad, 151 | stroke: true, 152 | strokeStyle: ss, 153 | _r: 244, 154 | _g: 195, 155 | _b: 0, 156 | fill: false, 157 | lineWidth: lw, 158 | startAngle: 135, 159 | endAngle: 135+180, 160 | globalAlpha: ga, 161 | parent: container 162 | }); 163 | 164 | var green3 = list.addCircle({ 165 | x: 60, 166 | y: 25, 167 | radius: rad, 168 | stroke: true, 169 | strokeStyle: ss, 170 | _r: 0, 171 | _g: 159, 172 | _b: 61, 173 | fill: false, 174 | lineWidth: lw, 175 | startAngle: 45, 176 | endAngle: 235, 177 | globalAlpha: ga, 178 | parent: container 179 | }); 180 | 181 | var blue2 = list.addCircle({ 182 | x: -120, 183 | y: -25, 184 | radius: rad, 185 | stroke: true, 186 | strokeStyle: ss, 187 | _r: 0, 188 | _g: 133, 189 | _b: 199, 190 | fill: false, 191 | lineWidth: lw, 192 | startAngle: 235, 193 | endAngle: 235+180, 194 | globalAlpha: ga, 195 | parent: container 196 | }); 197 | 198 | } 199 | 200 | -------------------------------------------------------------------------------- /code/roy-packages.js: -------------------------------------------------------------------------------- 1 | function onGLC(glc) { 2 | glc.loop(); 3 | // glc.playOnce(); 4 | glc.size( 400, 400 ); 5 | glc.setDuration( 2 ); 6 | glc.setFPS( 30 ); 7 | glc.setMode( "single" ); 8 | //glc.setEasing( false ); 9 | glc.setMaxColors( 32 ); 10 | glc.setQuality( 1 ); 11 | var list = glc.renderList, 12 | width = glc.w, 13 | height = glc.h, 14 | color = glc.color; 15 | 16 | // your code goes here: 17 | glc.styles.backgroundColor = '#446f88'; 18 | var grid = 5; 19 | var size = width / grid; 20 | var points = 6; 21 | var angle = ( 120/360 ) * 2 * Math.PI; 22 | var dist = size; 23 | var transx = Math.sin( angle ) * dist; 24 | var transy = -Math.cos( angle ) * dist; 25 | 26 | for( var x=-(grid+1); x<(grid+1); x++ ){ 27 | 28 | list.addLine({ 29 | x0: width/2 + ( -grid * transx ) + ( x * transx ), 30 | y0: height/2 + ( x * transy ) - ( -grid * transy ) - Math.cos( angle ) * ( size/2.5 ), 31 | x1: width/2 + ( grid * transx ) + ( x * transx ), 32 | y1: height/2 + ( x * transy ) - ( grid * transy ) - Math.cos( angle ) * ( size/2.5 ), 33 | lineWidth: size/1.8, 34 | strokeStyle: color.rgba( 0, 0, 0, 0.3 ), 35 | 36 | }); 37 | 38 | var linePhase = Math.random(); 39 | 40 | for( var y=-(grid+1); y<(grid+1); y++ ){ 41 | 42 | var xpos = width/2 + ( y * transx ) + ( x * transx ); 43 | var ypos = height/2 + ( x * transy ) - ( y * transy ); 44 | var nextxpos = width/2 + ( (y-1) * transx ) + ( x * transx ); 45 | var nextypos = height/2 + ( x * transy ) - ( (y-1) * transy ); 46 | 47 | list.addPoly({ 48 | x: [ xpos, nextxpos ], 49 | y: [ ypos, nextypos ], 50 | radius: size/2.5, 51 | sides: points, 52 | stroke: true, 53 | strokeStyle: color.rgba( 0, 0, 0, 0.4 ), 54 | lineWidth: 1.5, 55 | rotation: 180 / points, 56 | fill: true, 57 | fillStyle: '#eecc8f', 58 | phase: linePhase 59 | }); 60 | 61 | list.addStar({ 62 | x: [ xpos, nextxpos ], 63 | y: [ ypos, nextypos ], 64 | outerRadius: size/2.5, 65 | innerRadius: 0, 66 | points: points/2, 67 | stroke: true, 68 | strokeStyle: color.rgba( 0, 0, 0, 0.4 ), 69 | lineWidth: 1.5, 70 | rotation: -180 / points, 71 | fill: false, 72 | phase: linePhase 73 | }); 74 | 75 | } 76 | } 77 | 78 | } -------------------------------------------------------------------------------- /code/roy-paint.js: -------------------------------------------------------------------------------- 1 | var pixels = []; 2 | 3 | function onGLC(glc) { 4 | glc.loop(); 5 | glc.size( 720, 720); 6 | glc.setDuration( 1 ); 7 | glc.setFPS( 25 ); 8 | glc.setMode('single'); 9 | glc.setEasing(false); 10 | glc.setMaxColors( 256 ); 11 | glc.setQuality( 1 ); 12 | var list = glc.renderList, 13 | width = glc.w, 14 | height = glc.h, 15 | color = glc.color; 16 | 17 | // your code goes here: 18 | glc.styles.backgroundColor = color.rgb( 255, 255, 255 ); 19 | var imgx = 80; 20 | var imgy = 80; 21 | var blocksize = 7.5; 22 | var margin = ( width - ( imgx * blocksize ) ) / 2; 23 | var hvar = 10; 24 | var svar = 0.1; 25 | var vvar = 0.1; 26 | 27 | var img = list.addImage({ 28 | x: imgx/2, 29 | y: imgy/2, 30 | url: "file:///C:/Users/Roy/Desktop/glc-windows/lianne3-square80.png", 31 | globalAlpha: function( t ){ 32 | return ( pixels.length == 0 ) ? 1 : 0; 33 | }, 34 | }); 35 | 36 | for( var x=0; x 1) { 116 | h -= 1; 117 | } 118 | } 119 | return { 120 | h: Math.round(h * 360), 121 | s: s, 122 | v: v 123 | }; 124 | } -------------------------------------------------------------------------------- /code/roy-parenting.js: -------------------------------------------------------------------------------- 1 | function onGLC(glc) { 2 | glc.loop(); 3 | // glc.playOnce(); 4 | glc.size( 360, 360 ); 5 | glc.setDuration( 5 ); 6 | glc.setFPS( 25 ); 7 | glc.setMode( "single" ); 8 | glc.setEasing( false ); 9 | glc.setMaxColors( 12 ); 10 | glc.setQuality( 1 ); 11 | var list = glc.renderList, 12 | width = glc.w, 13 | height = glc.h, 14 | color = glc.color; 15 | 16 | // your code goes here: 17 | glc.styles.backgroundColor = '#335577'; 18 | 19 | var c = list.addContainer({ 20 | x: width/2, 21 | y: height/2 22 | }); 23 | var prev = c; 24 | var nr = 17; 25 | var size = 280; 26 | var sides = 7; 27 | 28 | for( var i=0; i 1) { 120 | h -= 1; 121 | } 122 | } 123 | return { 124 | h: Math.round(h * 360), 125 | s: s, 126 | v: v 127 | }; 128 | } -------------------------------------------------------------------------------- /code/roy-pixels2.js: -------------------------------------------------------------------------------- 1 | var pixels = []; 2 | 3 | function onGLC(glc) { 4 | glc.loop(); 5 | glc.size( 400, 400); 6 | glc.setDuration( 1 ); 7 | glc.setFPS( 25 ); 8 | glc.setMode('single'); 9 | glc.setEasing(false); 10 | glc.setMaxColors( 256 ); 11 | glc.setQuality( 1 ); 12 | var list = glc.renderList, 13 | width = glc.w, 14 | height = glc.h, 15 | color = glc.color; 16 | 17 | // your code goes here: 18 | var imgx = 80; 19 | var imgy = 80; 20 | var blocksize = 5; 21 | var hvar = 10; 22 | var svar = 0.1; 23 | var vvar = 0.1; 24 | 25 | var img = list.addImage({ 26 | x: imgx/2, 27 | y: imgy/2, 28 | url: "file:///C:/Users/Roy/Desktop/glc-windows/solo80.png" 29 | }); 30 | 31 | for( var x=0; x 1) { 115 | h -= 1; 116 | } 117 | } 118 | return { 119 | h: Math.round(h * 360), 120 | s: s, 121 | v: v 122 | }; 123 | } -------------------------------------------------------------------------------- /code/roy-pixels3.js: -------------------------------------------------------------------------------- 1 | var pixels = []; 2 | 3 | function onGLC(glc) { 4 | glc.loop(); 5 | glc.size( 360, 360); 6 | glc.setDuration( 1 ); 7 | glc.setFPS( 25 ); 8 | glc.setMode('single'); 9 | glc.setEasing(false); 10 | glc.setMaxColors( 256 ); 11 | glc.setQuality( 1 ); 12 | var list = glc.renderList, 13 | width = glc.w, 14 | height = glc.h, 15 | color = glc.color; 16 | 17 | // your code goes here: 18 | glc.styles.backgroundColor = color.rgb( 0, 0, 0 ); 19 | var imgx = 60; 20 | var imgy = 60; 21 | var blocksize = 6; 22 | var hvar = 10; 23 | var svar = 0.1; 24 | var vvar = 0.1; 25 | 26 | var img = list.addImage({ 27 | x: imgx/2, 28 | y: imgy/2, 29 | url: "file:///C:/Users/Roy/Desktop/glc-windows/lianne3-square.png", 30 | globalAlpha: function( t ){ 31 | return ( pixels.length == 0 ) ? 1 : 0; 32 | }, 33 | }); 34 | 35 | for( var x=0; x 1) { 123 | h -= 1; 124 | } 125 | } 126 | return { 127 | h: Math.round(h * 360), 128 | s: s, 129 | v: v 130 | }; 131 | } -------------------------------------------------------------------------------- /code/roy-poly.js: -------------------------------------------------------------------------------- 1 | function onGLC(glc) { 2 | glc.loop(); 3 | // glc.playOnce(); 4 | glc.size(400, 400); 5 | glc.setDuration(0.5); 6 | glc.setFPS(30); 7 | glc.setMode("single"); 8 | glc.setEasing(false); 9 | // glc.setMaxColors(256); 10 | var list = glc.renderList, 11 | width = glc.w, 12 | height = glc.h; 13 | 14 | // your code goes here: 15 | var maxsize = 300; 16 | var nr = 50; 17 | var points = 7; 18 | 19 | glc.styles.lineWidth = 4; 20 | 21 | list.addRect({ 22 | x: width/2, 23 | y: height/2, 24 | w: width, 25 | h: height, 26 | fill: true, 27 | fillStyle: '#99aaee' 28 | }); 29 | 30 | for( var i = 0; i < nr; i++ ){ 31 | /* var radius = Math.sin( (i*2*Math.PI)/nr ) * nr; 32 | list.addStar({ 33 | points: points, 34 | x: width/2, 35 | y: height/2, 36 | innerRadius: i*7, 37 | outerRadius: i*7, 38 | rotation: [ i * 5, i*5 + (360/points) ], 39 | fill: false, 40 | stroke: true, 41 | fillStyle: [ 'rgba(0,0,255,1)', 'rgba(255,255,255,0)' ], 42 | strokeStyle: 'rgba(0,0,100,1)', 43 | phase: 1-(i/nr) 44 | });*/ 45 | list.addPoly({ 46 | sides: points, 47 | x: width/2/* + ( Math.sin( (i*2*Math.PI)/nr ) * radius )*/, 48 | y: height/2/* + ( Math.sin( (i*2*Math.PI)/nr ) * radius )*/, 49 | radius: i*7, 50 | rotation: [ i * 5, i*5 + (360/points) ], 51 | fill: false, 52 | stroke: true, 53 | fillStyle: [ 'rgba(0,0,255,1)', 'rgba(255,255,255,0)' ], 54 | strokeStyle: 'rgba(30,50,100,0.75)', 55 | phase: 1-(i/nr) 56 | }); 57 | 58 | } 59 | 60 | } -------------------------------------------------------------------------------- /code/roy-present.js: -------------------------------------------------------------------------------- 1 | function onGLC(glc) { 2 | glc.loop(); 3 | glc.size( 400, 400 ); 4 | glc.setDuration( 5 ); 5 | glc.setFPS( 25 ); 6 | // glc.setMode('single'); 7 | // glc.setEasing(false); 8 | glc.setMaxColors( 256 ); 9 | glc.setQuality( 1 ); 10 | var list = glc.renderList, 11 | width = glc.w, 12 | height = glc.h, 13 | color = glc.color; 14 | 15 | // your code goes here: 16 | glc.styles.backgroundColor = color.rgba( 30, 50, 70, 1 ); 17 | var lw1 = 7; 18 | var lw2 = 7; 19 | var col1 = color.rgba( 40, 180, 60, 1 ); 20 | var col2 = color.rgba( 255, 60, 40, 1 ); 21 | 22 | var c = list.addContainer({ 23 | x: width/2, 24 | y: height/2 + 10, 25 | }); 26 | 27 | // box outlines 28 | var lines1 = [ 29 | [ -120, -80, -120, 80 ], 30 | [ 120, 80, 120, -80 ], 31 | [ -120, -80, 0, -120 ], 32 | [ 120, -80, 0, -120 ], 33 | [ -120, 80, 0, 120 ], 34 | [ 120, 80, 0, 120 ], 35 | [ -120, -80, 0, -40 ], 36 | [ 120, -80, 0, -40 ], 37 | [ 0, -40, 0, 120 ] 38 | ]; 39 | 40 | for( var i=0; i Math.PI/4 ){ a = (Math.PI/2) - a; } 53 | var l = this.rsize / Math.cos( a ); 54 | return l; 55 | }, 56 | y: 0, 57 | radius: 5, 58 | stroke: false, 59 | fillStyle: ( r%2 == 0 ) ? color.rgba( 255, 255, 255, 1 ) : color.rgba( 155, 200, 255, 1 ), 60 | parent: container, 61 | phase: i/nrofDots + offset, 62 | speedMult: 1/nrofDots, 63 | rsize: rsize, 64 | }); 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /code/roy-stars.js: -------------------------------------------------------------------------------- 1 | function onGLC(glc) { 2 | glc.loop(); 3 | // glc.playOnce(); 4 | glc.size(400, 400); 5 | glc.setDuration(2); 6 | glc.setFPS(30); 7 | glc.setMode("single"); 8 | glc.setEasing(false); 9 | glc.setMaxColors(256); 10 | var list = glc.renderList, 11 | width = glc.w, 12 | height = glc.h, 13 | color = glc.color; 14 | 15 | // your code goes here: 16 | var nr = 7; 17 | var radius = 120; 18 | var count = 0; 19 | 20 | function getXPos( t ){ 21 | var x = Math.sin( ( (t+count)*2*Math.PI)/nr ) * radius; 22 | return width/2 + x; 23 | } 24 | 25 | function getYPos( t ){ 26 | var y = -Math.cos( ( (t+count)*2*Math.PI)/nr ) * radius; 27 | count++; 28 | count = count%nr; 29 | return height/2 + y; 30 | } 31 | 32 | for( var i=0; i 0 ){ 35 | return width/2 - this.wtotal/2 + w1/2; 36 | } else { 37 | return width/2 + this.wtotal/2 + w1/2; 38 | } 39 | }, 40 | y: i + ( width-nr)/2, 41 | w: function( t ){ 42 | return Math.sin(t*2*Math.PI) * this.wtotal; 43 | }, 44 | h: 1, 45 | stroke: false, 46 | fillStyle: 'green', 47 | wtotal: wtotal, 48 | phase: i/nr 49 | }); 50 | 51 | 52 | list.addRect({ 53 | x: function( t ){ 54 | var w1 = -Math.sin(t*2*Math.PI) * this.wtotal; 55 | if( w1 < 0 ){ 56 | return width/2 + this.wtotal/2 + w1/2; 57 | } else { 58 | return width/2 - this.wtotal/2 + w1/2; 59 | } 60 | }, 61 | y: i + ( width-nr)/2, 62 | w: function( t ){ 63 | return -Math.sin(t*2*Math.PI) * this.wtotal; 64 | }, 65 | h: 1, 66 | stroke: false, 67 | fillStyle: 'blue', 68 | wtotal: wtotal, 69 | phase: i/nr 70 | }); 71 | 72 | 73 | } 74 | 75 | // var gradient = color.createLinearGradient( 0, -height/2, 0, height/2 ); 76 | // gradient.addColorStop( 0, '#f00' ); 77 | // gradient.addColorStop( 1, '#00f' ); 78 | 79 | // var gradient2 = color.createLinearGradient( 0, -height/2, 0, height/2 ); 80 | // gradient2.addColorStop( 0, '#224' ); 81 | // gradient2.addColorStop( 0.5, '#66b' ); 82 | // gradient2.addColorStop( 1, '#ddf' ); 83 | 84 | 85 | } -------------------------------------------------------------------------------- /images/lianne-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne-square.png -------------------------------------------------------------------------------- /images/lianne-tiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne-tiny.png -------------------------------------------------------------------------------- /images/lianne.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne.jpg -------------------------------------------------------------------------------- /images/lianne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne.png -------------------------------------------------------------------------------- /images/lianne2-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne2-square.png -------------------------------------------------------------------------------- /images/lianne2-square2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne2-square2.png -------------------------------------------------------------------------------- /images/lianne2-square3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne2-square3.png -------------------------------------------------------------------------------- /images/lianne2-tiny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne2-tiny.png -------------------------------------------------------------------------------- /images/lianne2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne2.jpg -------------------------------------------------------------------------------- /images/lianne3-eyes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne3-eyes.png -------------------------------------------------------------------------------- /images/lianne3-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne3-square.png -------------------------------------------------------------------------------- /images/lianne3-square80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne3-square80.png -------------------------------------------------------------------------------- /images/lianne3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/lianne3.jpg -------------------------------------------------------------------------------- /images/nike_swoosh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/nike_swoosh.png -------------------------------------------------------------------------------- /images/solo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/solo.png -------------------------------------------------------------------------------- /images/solo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/solo.webp -------------------------------------------------------------------------------- /images/solo80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/solo80.png -------------------------------------------------------------------------------- /images/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roytanck/gifloopcoder-scripts/c32ff0fe5956d56a7736a33ff9fb5dba9f1bc6ec/images/sprite.png --------------------------------------------------------------------------------