Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Menù rotante 3D

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    19

    Menù rotante 3D

    Ciao a tutti
    vorrei realizzare un menu tipo questo:

    http://www.ramazzotti.com/ita/home_ita.htm

    Ho scaricato un file utilissimo da questa discussione:

    http://forum.html.it/forum/showthrea...e&pagenumber=1

    ma mi chiedo se fosse possibile:

    poter caricare in ogni sfera 1 immagine diversa?
    creare un effetto dissolvenza delle sfere che ruotano e non sono piu’ in primo piano ???????

    grazie di cuore a chi vorra’ aiutarmi



    ps. utilizzo flash8 e actionscript 2 ma potrei procurarmi anche la nuova versione
    Noemi

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    19
    cercando in rete sono riuscita a trovare un menu rotatorio che carica le immagini da un file xml ....quindi diciamo che il mio primo grosso quesito l'avrei risolto.....

    il codice e' questo:

    import mx.utils.Delegate;

    var numOfItems:Number;
    var radiusX:Number = 300;
    var radiusY:Number = 75;
    var centerX:Number = Stage.width / 2;
    var centerY:Number = Stage.height / 2;
    var speed:Number = 0.05;
    var perspective:Number = 130;
    var home:MovieClip = this;

    var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
    tooltip._alpha = 0;

    var xml:XML = new XML();
    xml.ignoreWhite = true;

    xml.onLoad = function()
    {
    var nodes = this.firstChild.childNodes;
    numOfItems = nodes.length;
    for(var i=0;i<numOfItems;i++)
    {
    var t = home.attachMovie("item","item"+i,i+1);
    t.angle = i * ((Math.PI*2)/numOfItems);
    t.onEnterFrame = mover;
    t.toolText = nodes[i].attributes.tooltip;
    t.link = nodes[i].attributes.link;
    t.icon.inner.loadMovie(nodes[i].attributes.image);
    t.r.inner.loadMovie(nodes[i].attributes.image);
    t.icon.onRollOver = over;
    t.icon.onRollOut = out;
    t.icon.onRelease = released;
    }
    }

    function over()
    {
    home.tooltip.tipText.text = this._parent.toolText;
    home.tooltip._x = this._parent._x;
    home.tooltip._y = this._parent._y - this._parent._height/2;
    home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
    home.tooltip._alpha = 100;
    }

    function out()
    {
    delete home.tooltip.onEnterFrame;
    home.tooltip._alpha = 0;
    }

    function released()
    {
    //implementato il link esterno dal file xml
    getURL(this._parent.link,"_blank");
    //
    trace(this._parent.toolText);
    }

    function moveTip()
    {
    home.tooltip._x = this._parent._x;
    home.tooltip._y = this._parent._y - this._parent._height/2;
    }

    xml.load("icons.xml");

    function mover()
    {
    this._x = Math.cos(this.angle) * radiusX + centerX;
    this._y = Math.sin(this.angle) * radiusY + centerY;
    var s = (this._y - perspective) /(centerY+radiusY-perspective);
    this._xscale = this._yscale = s*100;
    this.angle += this._parent.speed;
    this.swapDepths(Math.round(this._xscale) + 100);
    }

    this.onMouseMove = function()
    {
    speed = (this._xmouse-centerX)/2500;
    }



    ora vorrei capire con il vostro aiuto se fosse possibile creare un effetto dissolvenza delle sfere che ruotano e non sono piu’ in primo piano ???????
    cioe' un alpha 0 sulle sfere che vanno dietro.
    spero di essermi spiegata..
    grazie a chi vorra ' aiutarmi...
    Noemi

  3. #3
    l'hai per caso preso da juliusdesign? mi è familiare questo codice

    cmq, per la dissoslvenza devi agire sulla proprietà _alpha, all'interno della funzione mover()

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    19
    si proprio da juliusdesign......ottimo sito!

    Avevo intuito anche io che dovevo agire sulla proprirta' alpha ma non ho ben capito come.....dovrei credo regolare tale valore a seconda della distanza dell'oggetto....ma proprio non so come fare!
    C'e' qualcuno che puo' darmi un aiutino????
    Noemi

  5. #5
    si, puoi sfruttare la funzione Math.sin(), cosi come per le altre proprietà.
    Prova ad aggiungere queste 2 righe all'interno della funzione mover():
    Codice PHP:
    var Alpha:Number = ((Math.sin(this.angle)+1)/2)*100;
    this._alpha Alpha
    La proprietà _alpha assumerà un valore compreso tra 0 e 100

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    19
    grazie mille......
    sei stato gentilissimo
    Noemi

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.