Visualizzazione dei risultati da 1 a 9 su 9

Discussione: movimento menu

  1. #1

    movimento menu

    vorrei riproporre un effetto dei pulsanti come questo

    al click di un pulsante, questo si sposta e assieme ad esso, tutti gli altri...

    come legare il movimento dei vari pulsanti?


    ammesso che ci siano 2 pulsanti (test1 e test2) ho provato ad inserire nel movieclip test1:
    ///
    onClipEvent (load) {
    xOrg = _x;
    yOrg = _y;
    }

    on (release) {
    test1_xFin = 480;
    test1_yFin = 100;
    test2_xFin = 480;
    test2_yFin = 125;
    }

    on(release) {
    this.onEnterFrame = function () {
    _x += (test1_xFin - _x)/5;
    _y += (test1_yFin - _y)/5;
    }
    }
    ///

    e nel mc test2 ho inserito:

    ///

    onClipEvent (load) {
    xOrg = _x;
    yOrg = _y;
    }

    on (release) {
    test2_xFin = 60;
    test2_yFin = 255;
    test1_xFin = 60;
    test1_yFin = 230;

    }

    on(release) {
    this.onEnterFrame = function () {
    _x += (test2_xFin - _x)/5;
    _y += (test2_yFin - _y)/5;
    }
    }

    ///

    NON FUNZIONA...

    per quale motivo? mi indicate la via giusta, per favore?
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2000
    residenza
    Savona
    Messaggi
    897
    www.filelife.com/sposta_links.zip
    Un fla di esempio. Mi sono fermato all'essenziale. Ma non dovrebbe essere difficile implementarlo. Se hai problemi, posta.
    Ciao,
    dover

  3. #3
    grazie mille, dover.
    a prima vista, è quello che cercavo

    stai bene!

  4. #4

    ops... aiuto

    ho un ulteriore problema.

    Il menu di dover l'ho modificato + semplicemente così. Ci sono 4 istante dello stesso mc che contiene un bottone.

    //Associato ad ogni mc (link[n]) il codice:

    onClipEvent (enterFrame) {
    this._x += (xPos - _x)/6;
    updateAfterEvent (enterFrame);
    this._y += (yPos - _y)/6;
    updateAfterEvent (enterFrame);
    }

    //Associato ai pulsante interni (i valori variano per ogni istanza):

    on (release) {
    _root.link1.Xpos = 100;
    _root.link1.Ypos = -10;
    _root.link3.Xpos = 200;
    _root.link3.Ypos = -10;
    _root.link4.Xpos = 300;
    _root.link4.Ypos = -10;
    }


    Il problema è che, all'inizio del filmato le istanze dell'mc vanno in posizione (0,0)...
    che devo fare?
    voglio posizionare in partenza i pulsanti dove dico io... accidenti
    :master:

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2000
    residenza
    Savona
    Messaggi
    897
    Devi assegnare al clip(sullo stage) la posizione x=0, y=0; poi entri nel clip e sposti gli oggetti che questo contiene, posizionandoli dove vuoi. Vedrai che quando carichi la pagina questi se ne staranno buoni buoni al loro posto...
    Ciao,
    dover

  6. #6

    marzullo rulez...

    mi sono fatto la domanda, e mi sono dato la risposta. almeno mi pare...

    //associato ad un qualsiasi mc con nome istanza link[n]

    onClipEvent (load) {
    xPos = 300;
    yPos = 340;
    }
    onClipEvent (enterFrame) {
    this._x += (xPos-_x)/6;
    updateAfterEvent(enterFrame);
    this._y += (yPos-_y)/6;
    updateAfterEvent(enterFrame);
    }
    on (release) {
    _root.link1.Xpos = 100;
    _root.link1.Ypos = -10;
    _root.link3.Xpos = 200;
    _root.link3.Ypos = -10;
    _root.link4.Xpos = 300;
    _root.link4.Ypos = -10;
    }


    ...e funziona (strano, fatto da me): che ne dici dover???

  7. #7
    Mi permetto di suggerirvi uno script messo a disposizione su questo forum da Alessandro.

    //**************************************
    // **************************************
    // ________________________________________
    //___
    //------------- MacOSXMenu effect----------------
    // ________________________________________
    //___
    //Author: Alessandro PERRONE
    //Date: 28th November 2003
    //Copyright: ©2003 - alessandroPERRONE.com
    //License: Freeware
    //Contact: info@alessandroperrone.com - http://www.alessandroperrone.com
    //Description: add a cool Mac OSX Menu scaling effect on your movie clips
    //Flash version: MX
    //Notes: inspired by Tsunami menu by Oxclove Workshop, Ltd. www.oxclove.com
    //All rights reserved
    //**************************************
    //**************************************/

    MovieClip.prototype.macOSXMenu = function(){
    var startX = this._x;
    this.onEnterFrame = function(){
    if(_root._ymouse <= this._y + 30 && _root._ymouse >= this._y - 30){
    var mouseX = int(Math.abs((this._x-_root._xmouse)));
    var mouseX2 = int(this._x-_root._xmouse);
    if (mouseX<50) {
    if (_root._xmouse < this._x + 200 || _root._xmouse > this._x - 200) {
    var scale = 200-mouseX;
    var xFactor =this._x+(mouseX2*.1);
    } else {
    var scale = 100;
    var xFactor = startX;
    }
    } else {
    var scale = 100;
    var xFactor = startX;
    }
    var scalingFactor = (scale-this._xscale)*.3;
    this._xscale += scalingFactor;
    this._yscale += scalingFactor;
    // update _x position
    var x = (xFactor-this._x)*.3;
    this._x += x;
    }else{
    // if mouse out of hit area (user defined) reset scaling with smooth effect
    if(this._xscale > 100){
    this._xscale += (100 - this._xscale) * .3
    this._yscale += (100 - this._yscale) * .3;
    }
    }
    };
    };

    //" ****************************************
    //*
    // ****************************************
    //*
    //USAGE:
    //Place one or more movieclips symbols in your movie
    //(each one is an item of your own menu) and call the
    //Mac OSX Menu method in the following way.

    //yourMovieClipInstance.macOSXMenu();
    //
    Ciao

  8. #8
    ecco...

    se io avessi 6 mc con nome istanza test1, test2... test6
    potrei scrivere così?

    for (i=0;i<7;i++){
    _root.test[i].macOSXMenu();
    _root.test[i]._alpha = 20;
    }


    oppure così?

    i=1;
    while (i<7) {
    _root.test[i].macOSXMenu();
    //_root.test[i]._alpha = 20;
    i++;
    }


    Ho provato a risolvere le ripetizioni a questo modo, ma non va...
    perchè?

    grazie!

  9. #9
    Supponendo che tu abbia 5 Clip istanziati già con i nomi
    menu1,.......menu5


    questo scrip va bene

    for(i=1;i<=5;i++){
    nome="menu"+i

    _root[nome].macOSXMenu();
    }


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.