Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [F5] Pulsante acceso

  1. #1

    [F5] Pulsante acceso

    Ciao ragazzi
    ho creato una serie di pulsanti i quali uno alla volta li ho fatti diventare mc a essi ho dato il nome istanza che verrà richiamata nella funzione che ho messo nel primo frame della linea temporale:
    ultimo = "";
    function comandi(nome) {
    if (nome != ultimo) {
    loadMovieNum(nome+".swf", 1);
    }
    ultimo = nome;
    }
    Hai pulsanti ho associato:
    on (release) {
    _root.comandi(_name);
    }
    Fino a quì funziona tutto, come faccio a far rimanere acceso il pulsante?


  2. #2
    Utente di HTML.it L'avatar di Stormy
    Registrato dal
    Dec 2000
    Messaggi
    2,701
    In flash 5 non c'è altro modo per lasciare acceso il comando di farlo trasparente, nel movie clip aggiungere un frame: nel primo frame la grafica "spenta" del pulsante e nel secondo quella del pulsante "acceso", mettere uno stop() in entrambi i frame e poi nel pulsante aggiungere

    on (release) {
    _root.comandi(_name);
    if (_root["acceso"] != undefined && _root["acceso"]!=this) {
    _root["acceso"].gotoAndStop(1);
    }
    this.gotoAndStop(2);
    _root.acceso = this;
    }

    questo nel caso di piu' pulsanti, così registri il pulsante premuto e quando ne clicchi un altro, il primo ti viene mandato nel primo frame (con la grafica del pulsante spento), il secondo pulsante premuto fa apparire la grafica del pulsante acceso

  3. #3
    lo provo subito

  4. #4
    Stormy l'ho provato funziona.
    Si può fare?
    Vorrei che nel momento in cui clicco il pulsante faccia un'interpolazione di colore es: dal giallo all'arancione
    on (release) {
    _root.comandi(_name);
    if (_root["acceso"] != undefined && _root["acceso"] != this) {
    _root["acceso"].gotoAndStop(1);
    }
    this.gotoAndStop(2);
    _root.acceso = this;
    }
    ciao

  5. #5
    Utente di HTML.it L'avatar di Stormy
    Registrato dal
    Dec 2000
    Messaggi
    2,701
    puoi provare così:

    o fai l'interpolazione e la metti nel movie clip del secondo frame, in modo che visto che cliccando il movie clip va direttamente nel secondo frame e avviene l'interpolazione

    oppure (escludendo l'oggetto color perchè viene un pò complicato calcolare i colori uno a uno della interpolazione), potresti (se appunto lo stato spento è giallo e quello acceso è arancione), cambiare completamente il comando, mettere i due movie clip invece che in due frame separati nello stesso frame, mettere nei comandi del movie clip che contiene movie clip e pulsante:

    onClipEvent (load) {
    Movieclip.prototype.fadeIn = function() {
    if (this._alpha<100) {
    this._alpha += 10;
    } else {
    this.fade = 0;
    }
    };
    Movieclip.prototype.fadeOut = function() {
    if (this._alpha>0) {
    this._alpha -= 10;
    } else {
    this.fade = 0;
    }
    };

    nello script del movie clip con il giallo

    onClipEvent (enterFrame) {
    if (fade == 1) {
    this.fadeIn();
    }
    if (fade == 2) {
    this.fadeOut();
    }
    }

    in quello con l'arancione

    onClipEvent (load) {
    _alpha=0;
    }
    onClipEvent (enterFrame) {
    if (fade == 1) {
    this.fadeIn();
    }
    if (fade == 2) {
    this.fadeOut();
    }
    }


    e nei pulsanti

    on (release) {
    _root.comandi(_name);
    if (_root["acceso"] != undefined && _root["acceso"] != this) {
    _root["acceso"].clip1.fade = 1;
    _root["acceso"].clip2.fade = 2;
    }
    this.clip1.fade = 2;
    this.clip2.fade = 1;
    _root.acceso = this;
    }

  6. #6
    Ho provato lo script.
    Ho fatto i due mc uno giallo uno arancione, gli ho assegnato
    i due script, ho fatto il pulsante trasparente al quale gli ho dato il codice, il tutto l'ho messo dentro a un mc al quale do:
    onClipEvent (load) {
    this.fadeIn();
    this.fadeOut();
    }
    nel primo frame della linea temporale ho messo :
    Movieclip.prototype.fadeIn = function() {
    if (this._alpha<100) {
    this._alpha += 10;
    } else {
    this.fade = 0;
    }
    };
    Movieclip.prototype.fadeOut = function() {
    if (this._alpha>0) {
    this._alpha -= 10;
    } else {
    this.fade = 0;
    }
    };
    Ho provato ha mettere un pulsante dentro ai due mc(giallo,arancione),quando vado a cliccare non parte il codice.
    Invece se metto il puls.trasparente funziona il codice.
    Però mettendo il pulsante trasparente perdo il rollover, come posso fare?
    Secondo metodo:
    (fai l'interpolazione e la metti nel movie clip del secondo frame, in modo che visto che cliccando il movie clip va direttamente nel secondo frame e avviene l'interpolazione.)
    Fatto e viene nel momento in cui clicco, però quando torna indietro va direttamente al 1 frame.





  7. #7
    Utente di HTML.it L'avatar di Stormy
    Registrato dal
    Dec 2000
    Messaggi
    2,701
    fammi capire ci deve essere un rollover diverso a seconda del fatto che il movie clip sia quello arancione o giallo? per quello devi mettere il pulsante dentro al movie clip? perchè se è così basta fare una variabile che registra quale dei due movie clip è visibile e tramite quello fare il rollOver (sempre dello stesso pulsante)

    questo non perchè se metti il pulsante nei movie clip lo script non funziona più (basta cambiare i percorsi) ma perchè così eviti di fare troppe istanze inutili del pulsante e troppi script ripetuti

    se mi confermi che il problema è di fare un rollOver diverso a seconda del movie clip visibile, ti riscrivo il codice, sennò spiegami meglio

  8. #8
    Sì il problema è quello di fare il rollover con i due mc.
    ciao

  9. #9
    Utente di HTML.it L'avatar di Stormy
    Registrato dal
    Dec 2000
    Messaggi
    2,701
    lo cambio e ti posto il codice

    riguardo ai siti che mi avevi chiesto di guardare, non è che mi sia dimenticata, è che ho avuto una settimana molto ma molto incasinata

  10. #10
    Utente di HTML.it L'avatar di Stormy
    Registrato dal
    Dec 2000
    Messaggi
    2,701
    Allora

    - in uno dei movie clip che contengono pulsanti e movie clip con i diversi stati "acceso" e "spento" (non in tutti i movie clip, basta il primo)

    onClipEvent (load) {
    Movieclip.prototype.fadeIn = function () { if (this._alpha<100) {this._alpha += 20;} else {this.fade = 0;_parent.over = this._name.charAt(this._name.length-1);}};
    Movieclip.prototype.fadeOut = function () { if (this._alpha>0) {this._alpha -= 20;} else {this.fade = 0;}};
    }

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.