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

    Cambio sfumato colore di sfondo

    Salve a tutti, vorrei sapere se qualcuno conosce uno script in FLASH che possa riprodurre l'effetto di variazione di colore dello sfondo che si vede in questa pagina:
    http://www.muellerhess.ch/

    In questo caso è stato utilizzato uno javascript, però volevo sapere se è possibile riprodurre l'effetto anche in flash.

    In sostanza a seconda della direzione del mouse lo sfondo cambia colore gradualmente..

    Grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao

    Specifica se utilizzi AS2 o AS3.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Ciao

    Io ho Flash CS3 e posso usare sia AS2 che AS3

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    ok
    vedo se riesco a fare qualcosa in AS2
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ho elaborato qualcosa di simile..
    Non è proprio uguale all'effetto del link perché non ho capito l'algoritmo utilizzato nel JavaScript riguardo le variazioni di tonalità. A dire il vero lo trovo un po' "incoerente" (passami il termine) perché se si prova a ridimensionare la finestra dello stage, cambia il tipo di variazione del colore rispetto allo spostamento del mouse..

    Io invece ho associato il valore della tonalità alla proprietà _xmouse mentre il valore della luminosità alla proprietà _ymouse.

    Di seguito, lo script.
    Dovrai inserirlo in un frame (ad es il primo frame della root).

    Tieni conto che l'ho creato da zero (probabilmente ne esistono di più ottimali, anche se ho provato a cercare sul web e non ne ho trovati).. inoltre non so se esistano già delle classi predisposte per l'elaborazione del colore, per cui mi sono inventato alcune funzioni.. (non chiedermi di spiegartele, ti prego) :master:

    Perché funzioni basterà creare un clip rettangolare grande quanto lo stage, che abbia il centro di registrazione sull'angolo superiore sinistro, quindi istanziarlo come "mc_sfondo".

    Codice PHP:
    var t:Number 0;
    var 
    l:Number 0;
    var 
    c:Color = new Color(mc_sfondo);
    function 
    getrgb(t:Numberl:Number):Number {
        
    limit(t01);
        
    limit(l01);
        return 
    Number('0x'+colorcomponent(tl0.5)+colorcomponent(tl, -1/6)+colorcomponent(tl1/6));
    }
    function 
    limit(v:Numbera:Numberb:Number):Number {
        
    with (Math) {
            return 
    max(amin(bv));
        }
    }
    function 
    triangular(v:Numberf:Number):Number {
        return 
    Math.abs(1-Math.abs(1-(v-f)*2));
    }
    function 
    colorcomponent(t:Numberl:Numberf:Number) {
        var 
    = (limit((limit(triangular(tf), 1/32/3)-1/3)*3l1)*255).toString(16);
        return 
    v.length == '0'+v;
    }
    mc_sfondo.onMouseMove = function() {
        
    c.setRGB(getrgb(this._xscale*this._xmouse/this._width*0.01this._yscale*this._ymouse/this._height*0.01));
    }; 
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Grazie mille
    E' praticamente perfetto, credo tu abbia realizzato un ottimo script complimenti

    Vorrei sapere se è possibile impostare il colore di sfondo bianco quando il mouse è nell'area centrale dello stage..

    Se ti crea troppi problemi non importa comunque

    Grazie mille ancora!

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Per ora la luminosità (quindi la quantità di bianco) viene data dalla variazione di _ymouse, cioè lo spostamento verticale (una "semplice" funzione lineare). In effetti la si potrebbe impostare secondo una funzione radiale in modo che il bianco sia dato verso il centro...
    Proverò a fare qualche esperimento ma non ti garantisco nulla.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ecco la modifica...

    Ora la variazione di tonalità è data in base all'angolo, quindi girando attorno al centro otterrai tutte le tonalità, mentre la luminosità e data dal raggio, cioè dalla distanza dal centro, più ti avvicini al centro più il colore diventa bianco..
    Ho incluso anche un valore di tolleranza per impostare la distanza dal centro entro la quale si ottiene sempre il bianco.
    Puoi impostarlo attraverso la variabile "o" (raggio centrale).
    Codice PHP:
    var t:Number 0;
    var 
    l:Number 0;
    var 
    o:Number .2//raggio centrale (impostare un valore decimale da 0 a 1)
    var c:Color = new Color(mc_sfondo);
    function 
    getrgb(t:Numberl:Number):Number {
        
    limit(t01);
        
    limit(l01);
        return 
    Number('0x'+colorcomponent(tl0.5)+colorcomponent(tl, -1/6)+colorcomponent(tl1/6));
    }
    function 
    limit(v:Numbera:Numberb:Number):Number {
        
    with (Math) {
            return 
    max(amin(bv));
        }
    }
    function 
    triangular(v:Numberf:Number):Number {
        return 
    Math.abs(1-Math.abs(1-(v-f)*2));
    }
    function 
    colorcomponent(t:Numberl:Numberf:Number):String {
        var 
    = (limit((limit(triangular(tf), 1/32/3)-1/3)*3l1)*255).toString(16);
        return 
    v.length == '0'+v;
    }
    function 
    radial(x:Numbery:Number):Number {
        return 
    1-limit(Math.sqrt(x*x+y*y)*(1+o)-o01);
    }
    function 
    angular(x:Numbery:Number):Number {
        return (
    Math.atan2(yx)*.5/Math.PI+1)%1;
    }
    mc_sfondo.onMouseMove = function() {
        var 
    xm:Number = (this._xscale*this._xmouse/this._width*0.01)*2-1;
        var 
    ym:Number = (this._yscale*this._ymouse/this._height*0.01)*2-1;
        
    c.setRGB(getrgb(angular(xmym), radial(xmym)));
    }; 
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  9. #9
    Guarda non ho parole per ringraziarti *_*

    Sei stato bravissimo e molto molto gentile! Grazie infinite!!

  10. #10
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Nessun problema!
    Buon proseguimento.

    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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 © 2025 vBulletin Solutions, Inc. All rights reserved.