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

    abilita/disabilita bottoni

    Ciao a tutti e ringrazio anticipatamente chi mi darà una mano... ed anche a chi no!!!

    Ho il cervello in panne... sarà per l'ora tarda ma ho un problemino con i miei pulsanti.

    Sul mio stage ho creato un menù con dei pulsanti (sono 4!) che animati simulato l'effetto della "pressione" e del conseguente "rilascio" su un tasto, il tutto è stato reso con un semplice tellTarget che sul "rollOver" simula il tasto premuto verso il basso ed in "rollOut" lo fa tornare al punto di partenza... fino qua tutto funge.

    Poi ho voluto disabilitare il tasto premuto ed ho usato il solito codice:

    miobottone.enabled=false

    I miei bottoni sono: btn1; btn2; btn3; btn4... quindi:
    btn1.enabled=false

    Domanda 1 :
    nel tenere disabilitato un bottone e gli altri invece abilitati devo scrivere:

    btn1.enabled=false;
    btn2.enabled=true;
    btn3.enabled=true;
    btn4.enabled=true;

    oppure c'è un altro modo per rendere il brodo meno lungo dato che i bottoni potrebbero aumentare?

    Domanda2 :
    Utilizzando questo metodo di disabilitazione tutto funziona ma perdo, nel momento in cui vado a cliccare su un bottone diverso da quello premuto, quell'effetto di "rilascio" del bottone prima utilizzato che ho ottenuto con il tellTarget di cui sopra poichè il bottone torna direttamente al frame 1 senza ripercorrere l'animazione al contrario... come risolvo questo annoso dilemma?

    Grazie ancora per l'attenzione
    Io_FraNo

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Quando clicchi su un pulsante, setti una variabile che indica quale sarà a dover essere disabilitato. Alla fine di ogni animazione di ritorno, controlli questa variabile, ed in base ad essa disabiliti il pulsante giusto.

  3. #3
    scusami Negatyve... ho difficoltà a seguirti!

    esempio:
    1) pulsante"home":
    on (rollOver) {
    _root.suoni.start();
    _root.suoni=suono1;
    tellTarget ("mc_btn1") {
    gotoAndPlay(2);
    }
    }
    on (rollOut) {
    tellTarget ("mc_btn1") {
    gotoAndPlay(16);
    }
    }
    on (press) {
    btn1.enabled=false;
    btn2.enabled=true;
    }

    2)pulsante "servizi":
    on (rollOver) {
    _root.suoni.start();
    _root.suoni=suono1;
    tellTarget ("mc_btn2") {
    gotoAndPlay(2);
    }
    }
    on (rollOut) {
    tellTarget ("mc_btn2") {
    gotoAndPlay(16);
    }
    }
    on (press) {
    btn2.enabled=false;
    btn1.enabled=true;
    }

    help me please!
    Io_FraNo

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Dove sta l'animazione di chiusura di un pulsante?

  5. #5
    sullo steso stage in un movie clip che a seconda del tasto è:
    mc_btn1
    mc_btn2
    ...
    mc_btnn
    dove al frame vuoto 1 c'è un'azione di stop, dal secondo frame fino al 15esimo si sviluppa l'animazione con ancora uno stop sul 15esimo (e lì si conclude il rollOver!) e poi dal 16 in poi c'è la stessa animazione di prima ma con i frames invertiti (e questo è il rollOut!)
    Io_FraNo

  6. #6

  7. #7
    Utente di HTML.it L'avatar di kansuke
    Registrato dal
    Apr 2004
    Messaggi
    350
    btn1.enabled=false;
    btn2.enabled=true;
    btn3.enabled=true;
    btn4.enabled=true;


    prova a fare così
    setti una variabile qualsiasi dove sistemerai un puntatore al bottone che hai precedentemente disabilitato
    quandi cliccki su un bottone
    1) lo disabiliti
    2) abiliti quello nella variabile
    3) inserisci il suo valore nella
    mi sembra una buona possibilità

    this.btn1.enabled=false;
    this[disB].enabled=true;
    disB="btn1";

    oppure meglio

    numB=1;
    this["btn"+numB].enabled=false;
    this[disB].enabled=true;
    disB="btn"+numB;

    in questa maniera basta cambiare solo il valore di numB e si risistema tutto
    invece di riscriverti i due puntatori

    fammi sapere come va

    Edit: non credo di aver capito, vuoi disabilitarlo nel senso che non ha azioni al click del mouse??
    nel caso invece di tutto quanto detto sopra metti prova con

    on (press){
    a=1;
    if(_root.disB!=a){
    _root.disB=1;
    mie azioni
    }
    }

    in pratica al click se il bottone disabilitato (contenuto in _root.disB) non sono io (contenuto in a) segna me come disabilitato (lo sovrascrive alla precedente variabile) ed esegui le mie azioni.
    Se vuoi che un bottone parta disabilitato setta all'inizio del filmato _root.disB con il numero di bottone che vuoi disabilitare, naturalmente puoi infilare la variabile disB dove vuoi, non solo nella root
    "Hanno chiuso le mandrie nelle stalle
    perchè liberi siamo fino all'alba."
    R. Kipling

  8. #8
    quelle 3 righe di codice devo metterle sul pulsante?

    Grazie
    Io_FraNo

  9. #9
    Utente di HTML.it L'avatar di kansuke
    Registrato dal
    Apr 2004
    Messaggi
    350
    on (press){
    a=1;
    if(_root.disB!=a){
    _root.disB=1;
    mie azioni
    }
    }

    si questo va sul pulsante, sostituisce l'on(press) già presente e dove scritto mie azioni ci vanno le azioni che il pulsante esegue quando viene premuto.

    cioè se non ricordo male e stiamo parlando dello stesso sito

    on (press){
    a=1;
    if(_root.disB!=a){
    _root.disB=a ;
    wmodifier=449;
    hmodifier=452;

    }
    }

    al posto di

    on (press) {
    wmodifier=449;
    hmodifier=452;
    }

    okkio ricordati di cambiare di bottone in bottone il valore di a
    e attenzione avevo fatto un piccolo errore o meglio un'imprecisione
    è segnata in arancione
    "Hanno chiuso le mandrie nelle stalle
    perchè liberi siamo fino all'alba."
    R. Kipling

  10. #10
    grazie Kansuke, ti ho mandato una e-mail... anzi due perchè ho dimenticato di allegarti il .fla


    Grazie ancora
    Io_FraNo

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.