Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    aiuto per sviluppare livello arcobaleno

    ciao ragazzi stamattina mi sono messo in testa di realizzare un layer che tramite la proprietà backgroundcolor si passi automatico in una sequenza tipo fade tutti i colori della gamma cromatica rgb un po come un effetto arcobaleno

    ho iniziato buttando giù questo ma poi mi sono reso conto che è sbagliato

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    	<title>Arcobaleno</title>
    </head>
    
    <body>
    <div id="arcobaleno" style="position:absolute; top:100px; left:100px; width:100px; height:100px; background-color:red;"></div>
    
    <script language="javascript">
    <!--
    function colorize(r,g,b){
    	r <= 255 ? r=r:r=0;
    	g <= 255 ? g=g:g=0;
    	b <= 255 ? b=b:b=0;
    	document.getElementById('arcobaleno').style.backgroundColor = "rgb("+r+","+g+","+b+")";
    	r++; g++; b++;
    	setTimeout("colorize("+r+","+g+","+b+")",100);
    }
    
    onload = function(){
    colorize(Math.round(Math.random()*256),Math.round(Math.random()*256),Math.round(Math.random()*256));
    }
    //-->
    </script>
    
    </body>
    </html>
    solo che non riesco a capire quale potrebbe essere il metodo giusto... mi potreste aiutare a capirlo... pero vorrei provare ad arrivarci da solo

    tks
    Luca Mascaro
    Usability e Accessibility Engineer, User Interface Designer/Engineer
    NOW BLOG
    W3C HTML & WCAG WG Member for IWA/HWG

  2. #2
    nessuno mi sa aiutare
    Luca Mascaro
    Usability e Accessibility Engineer, User Interface Designer/Engineer
    NOW BLOG
    W3C HTML & WCAG WG Member for IWA/HWG

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    In pratica tu vuoi impostare uno sfondo che cambi nel tempo (ogni 100 ms) in maniera continua.

    Nel tuo script io vedo un problema sui colori: tu parti da un valore di RGB (casuale all'inizio) e ad ogni passo incrementi tutte tre le variabili: questo ti porta ad avere tutta la gamma di una stessa tonalita`. Supponendo di partire con 0,0,0 ottieni tuta la gamma dei grigi, dal nero al bianco (i colori con uguale r, g, b sono nella gamma dei grigi).

    Se vuoi un effetto arcobaleno dovresti invece lavorare in HSE, fissando due parametri (credo H e S) e modificando il terzo. In pratica sul disco dei colori (che vedi anche usando il programma paint di windows) devi fissare una circonferenza e muoverti su tale circonferenza.

    Ci sono gli algoritmi per passare da HSE a RGB e viceversa, ma ora non li ricordo.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    oppure fai tentativi come decremetare la r e aumentare la b

  5. #5
    appunto adesso stavo pensando di basarmi su un onda fluida di accrescimenti e decrescimenti... oppure su un ciclo sequenziale secondo un algoritmo su ffffff

    :master:
    Luca Mascaro
    Usability e Accessibility Engineer, User Interface Designer/Engineer
    NOW BLOG
    W3C HTML & WCAG WG Member for IWA/HWG

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.