Pluie de couleur
Résolu
MaxBMX17
Messages postés
67
Date d'inscription
Statut
Membre
Dernière intervention
-
MaxBMX17 Messages postés 67 Date d'inscription Statut Membre Dernière intervention -
MaxBMX17 Messages postés 67 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai trouvé ça qui me plaît : https://codepen.io/kyllaz/pen/qGdPvR
Le problème, c'est lorsque je copie les codes, un carré noir s'affiche en haut de ma page.
J'ai trouvé ça qui me plaît : https://codepen.io/kyllaz/pen/qGdPvR
Le problème, c'est lorsque je copie les codes, un carré noir s'affiche en haut de ma page.
A voir également:
- Pluie de couleur
- Excel cellule couleur si condition texte - Guide
- Boite a couleur - Télécharger - Divers Photo & Graphisme
- Somme si couleur - Guide
- Schéma branchement autoradio couleur fils - Forum Autoradio
- Comment rétablir la couleur de l'écran ✓ - Forum Windows 10
4 réponses
Ce code, copié bêtement du lien que tu nous avais déjà donné.... fonctionne parfaitement.
Si tu as un souci c'est certainement lié à d'autres éléments présents dans ton code (comme déjà indiqué dans une précédente réponse...... ) ou que tu as mal placé le code en question.
Il serait bien de nous coller en UN SEUL bloc TOUT ton code.
Et si tu as plusieurs fichiers.... d'indiquer pour chacun d'eux le nom Exact du fichier et son emplacement sur le disque dur;
Je te remet le code qui fonctionne :
Si tu as un souci c'est certainement lié à d'autres éléments présents dans ton code (comme déjà indiqué dans une précédente réponse...... ) ou que tu as mal placé le code en question.
Il serait bien de nous coller en UN SEUL bloc TOUT ton code.
Et si tu as plusieurs fichiers.... d'indiquer pour chacun d'eux le nom Exact du fichier et son emplacement sur le disque dur;
Je te remet le code qui fonctionne :
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>TEST</title> <style> canvas { position: absolute; top: 0; left: 0; background-color: #111; } </style> </head> <body> <canvas id=c></canvas> <script type="text/javascript"> var gl = c.getContext( 'experimental-webgl', { preserveDrawingBuffer: true } ) , w = c.width = window.innerWidth , h = c.height = window.innerHeight , opts = { dropWidth: .5, dropSpacing: 1, dropsParColumn: 3, dropBaseSpeed: .01, dropAddedSpeed: .005, dropAlpha: .6, dropRespawnChance: .1, acc: .1, tickSpeed: 1/360 }; var webgl = {}; webgl.vertexShaderSource = ` attribute vec2 a_pos; uniform vec2 u_res; uniform vec2 u_params; varying float hue; void main(){ gl_Position = vec4( vec2(1,-1) * ( ( ( a_pos + vec2(.5,0) ) / u_res ) * 2. - 1. ), 0, 1 ); hue = u_params.y == 1. ? -1. : ( a_pos.x + a_pos.y * .1 ) / u_res.x + u_params.x; } ` webgl.fragmentShaderSource = ` precision mediump float; varying float hue; void main(){ gl_FragColor = hue == -1. ? vec4( 0, 0, 0, .04 ) : vec4( clamp( abs( mod( hue * 6. + vec3( 0, 4, 2 ), 6. ) - 3. ) -1., 0., 1. ), ${opts.dropAlpha} ); } ` webgl.vertexShader = gl.createShader( gl.VERTEX_SHADER ); gl.shaderSource( webgl.vertexShader, webgl.vertexShaderSource ); gl.compileShader( webgl.vertexShader ); webgl.fragmentShader = gl.createShader( gl.FRAGMENT_SHADER ); gl.shaderSource( webgl.fragmentShader, webgl.fragmentShaderSource ); gl.compileShader( webgl.fragmentShader ); webgl.shaderProgram = gl.createProgram(); gl.attachShader( webgl.shaderProgram, webgl.vertexShader ); gl.attachShader( webgl.shaderProgram, webgl.fragmentShader ); gl.linkProgram( webgl.shaderProgram ); gl.useProgram( webgl.shaderProgram ); webgl.posAttribLoc = gl.getAttribLocation( webgl.shaderProgram, 'a_pos' ); webgl.posBuffer = gl.createBuffer(); gl.enableVertexAttribArray( webgl.posAttribLoc ); gl.bindBuffer( gl.ARRAY_BUFFER, webgl.posBuffer ); gl.vertexAttribPointer( webgl.posAttribLoc, 2, gl.FLOAT, false, 0, 0 ); webgl.resUniformLoc = gl.getUniformLocation( webgl.shaderProgram, 'u_res' ); webgl.paramsUniformLoc = gl.getUniformLocation( webgl.shaderProgram, 'u_params' ); gl.viewport( 0, 0, w, h ); gl.uniform2f( webgl.resUniformLoc, w, h ); gl.blendFunc( gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA ); gl.enable( gl.BLEND ); gl.lineWidth( opts.dropWidth ); webgl.posData = []; webgl.clear = function(){ webgl.posData = [ 0, 0, w, 0, 0, h, 0, h, w, 0, w, h ]; gl.uniform2f( webgl.paramsUniformLoc, 0, 1 ); webgl.draw( gl.TRIANGLES ); webgl.posData.length = 0; } webgl.draw = function( glType ){ gl.bufferData( gl.ARRAY_BUFFER, new Float32Array( webgl.posData ), gl.STATIC_DRAW ); gl.drawArrays( glType, 0, webgl.posData.length / 2 ); } function Drop( x ){ this.x = x; this.reset(); this.y = Math.random() * h; } Drop.prototype.reset = function(){ this.y = 0; this.vy = opts.dropBaseSpeed + opts.dropAddedSpeed * Math.random(); } Drop.prototype.step = function(){ if( this.y > h ){ if( Math.random() < opts.dropRespawnChance ) return this.reset(); else return 0; } var ny = this.y + ( this.vy += opts.acc ); webgl.posData.push( this.x, this.y, this.x, ny ); this.y = ny; } var drops = [] , tick = 0; createDrops(); function createDrops(){ drops.length = 0; for( var i = 0; i < w; i += opts.dropSpacing ){ for( var j = 0; j < opts.dropsParColumn; ++j ) drops.push( new Drop( i ) ); } } function anim(){ window.requestAnimationFrame( anim ); tick += opts.tickSpeed; webgl.clear(); gl.uniform2f( webgl.paramsUniformLoc, tick, 0 ); drops.map( function( drop ){ drop.step(); } ); webgl.draw( gl.LINES ); } anim(); window.addEventListener( 'resize', function(){ w = c.width = window.innerWidth; h = c.height = window.innerHeight; gl.viewport( 0, 0, w, h ); gl.uniform2f( webgl.resUniformLoc, w, h ); createDrops(); }) </script> </body> </html>
Bonjour,
As tu d'autres choses dans ta page que ce bout de code ?
As tu vidé le cache de ton navigateur ?
As tu essayé avec un autre navigateur ?
As tu des erreurs dans la console de ton navigateur ?
As tu d'autres choses dans ta page que ce bout de code ?
As tu vidé le cache de ton navigateur ?
As tu essayé avec un autre navigateur ?
As tu des erreurs dans la console de ton navigateur ?
Sur ma page, il y a du HTML / CSS.
Sur d'autres navigateurs, le problème reste le même.
Sur d'autres navigateurs, le problème reste le même.
Sur ma page, il y a du HTML / CSS.
Oui.. mais encore ...??
Ne penses tu pas que si je t'ai posé cette question... c'est peut-être (sûrement...) car cela peut être la cause du souci et par conséquent que nous le montrer pourrait nous aider à te répondre ???
PS: Merci également de ne pas ouvrir la même question 50 fois sur le forum....
Voici le code/animation : https://codepen.io/kyllaz/pen/qGdPvR
<canvas id=c></canvas>
canvas { position: absolute; top: 0; left: 0; background-color: #111; }
var gl = c.getContext( 'experimental-webgl', { preserveDrawingBuffer: true } ) , w = c.width = window.innerWidth , h = c.height = window.innerHeight , opts = { dropWidth: .5, dropSpacing: 1, dropsParColumn: 3, dropBaseSpeed: .01, dropAddedSpeed: .005, dropAlpha: .6, dropRespawnChance: .1, acc: .1, tickSpeed: 1/360 }; var webgl = {}; webgl.vertexShaderSource = ` attribute vec2 a_pos; uniform vec2 u_res; uniform vec2 u_params; varying float hue; void main(){ gl_Position = vec4( vec2(1,-1) * ( ( ( a_pos + vec2(.5,0) ) / u_res ) * 2. - 1. ), 0, 1 ); hue = u_params.y == 1. ? -1. : ( a_pos.x + a_pos.y * .1 ) / u_res.x + u_params.x; } ` webgl.fragmentShaderSource = ` precision mediump float; varying float hue; void main(){ gl_FragColor = hue == -1. ? vec4( 0, 0, 0, .04 ) : vec4( clamp( abs( mod( hue * 6. + vec3( 0, 4, 2 ), 6. ) - 3. ) -1., 0., 1. ), ${opts.dropAlpha} ); } ` webgl.vertexShader = gl.createShader( gl.VERTEX_SHADER ); gl.shaderSource( webgl.vertexShader, webgl.vertexShaderSource ); gl.compileShader( webgl.vertexShader ); webgl.fragmentShader = gl.createShader( gl.FRAGMENT_SHADER ); gl.shaderSource( webgl.fragmentShader, webgl.fragmentShaderSource ); gl.compileShader( webgl.fragmentShader ); webgl.shaderProgram = gl.createProgram(); gl.attachShader( webgl.shaderProgram, webgl.vertexShader ); gl.attachShader( webgl.shaderProgram, webgl.fragmentShader ); gl.linkProgram( webgl.shaderProgram ); gl.useProgram( webgl.shaderProgram ); webgl.posAttribLoc = gl.getAttribLocation( webgl.shaderProgram, 'a_pos' ); webgl.posBuffer = gl.createBuffer(); gl.enableVertexAttribArray( webgl.posAttribLoc ); gl.bindBuffer( gl.ARRAY_BUFFER, webgl.posBuffer ); gl.vertexAttribPointer( webgl.posAttribLoc, 2, gl.FLOAT, false, 0, 0 ); webgl.resUniformLoc = gl.getUniformLocation( webgl.shaderProgram, 'u_res' ); webgl.paramsUniformLoc = gl.getUniformLocation( webgl.shaderProgram, 'u_params' ); gl.viewport( 0, 0, w, h ); gl.uniform2f( webgl.resUniformLoc, w, h ); gl.blendFunc( gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA ); gl.enable( gl.BLEND ); gl.lineWidth( opts.dropWidth ); webgl.posData = []; webgl.clear = function(){ webgl.posData = [ 0, 0, w, 0, 0, h, 0, h, w, 0, w, h ]; gl.uniform2f( webgl.paramsUniformLoc, 0, 1 ); webgl.draw( gl.TRIANGLES ); webgl.posData.length = 0; } webgl.draw = function( glType ){ gl.bufferData( gl.ARRAY_BUFFER, new Float32Array( webgl.posData ), gl.STATIC_DRAW ); gl.drawArrays( glType, 0, webgl.posData.length / 2 ); } function Drop( x ){ this.x = x; this.reset(); this.y = Math.random() * h; } Drop.prototype.reset = function(){ this.y = 0; this.vy = opts.dropBaseSpeed + opts.dropAddedSpeed * Math.random(); } Drop.prototype.step = function(){ if( this.y > h ){ if( Math.random() < opts.dropRespawnChance ) return this.reset(); else return 0; } var ny = this.y + ( this.vy += opts.acc ); webgl.posData.push( this.x, this.y, this.x, ny ); this.y = ny; } var drops = [] , tick = 0; createDrops(); function createDrops(){ drops.length = 0; for( var i = 0; i < w; i += opts.dropSpacing ){ for( var j = 0; j < opts.dropsParColumn; ++j ) drops.push( new Drop( i ) ); } } function anim(){ window.requestAnimationFrame( anim ); tick += opts.tickSpeed; webgl.clear(); gl.uniform2f( webgl.paramsUniformLoc, tick, 0 ); drops.map( function( drop ){ drop.step(); } ); webgl.draw( gl.LINES ); } anim(); window.addEventListener( 'resize', function(){ w = c.width = window.innerWidth; h = c.height = window.innerHeight; gl.viewport( 0, 0, w, h ); gl.uniform2f( webgl.resUniformLoc, w, h ); createDrops(); })
Mon fichier HTML : "page1.html" / CSS : "JEU.css" / JAVASCRIPT : "test.js"
Heu.... ajouté quel code ???
celui que je viens de te poster ??
Ce code là.. c'est le code COMPLET d'une page html.
Tu le prends et tu l'enregistres sous le nom test.html (par exemple) .. puis tu l'ouvres dans ton navigateur.... et ..oh miracle.. ça fonctionne (enfin.. normalement :-) )
Et sinon j'en reviens à ma précédente question....
Me donner le Nom des fichiers c'est bien.....
Me donner leur contenu COMPLET c'est mieux....
Il serait bien également de me préciser sous quel navigateur tu fais tes tests .... Edge ? Chrome ? Firefox ? Opera ? autre ???