Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    91

    Disattivare bottoni in bkg

    Ciao a tutti,
    ho questo problema:
    sto realizzando un filmato che carica cliccando sul menu diversi swf esterni che in alcuni casi prendono l'intero schermo come ingombro.
    Vorrei che quando si aprono questi swf che vanno a finire anche sul menu, lo stesso menu non sia attivo e qundi come se ci fosse una maschera sull'intero bkg che rende attivi tutti i bottoni!
    Sono stato hiaro?

    L'ho visto fare in diversi siti ma ora non me li ricordo!

    Ciao a tutti e grazie in anticipo.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,708
    Ciao
    Puoi disattivare e attivare i pulsanti tramite la proprietà "enabled".
    Se però hai sullo stage svariati pulsanti, questo metodo risulterà un po' scomodo a meno che tu non abbia una struttura ben organizzata.

    Altrimenti puoi fare in quest'altro modo..
    Io di solito utilizzo un trucchetto.. sistemo un pulsantone trasparente (che possiamo istanziare come "disabilitaPulsanti") il quale copra tutti i pulsanti che vuoi attivare/disattivare.

    A questo punto basteranno poche righe di script.
    Inserisci questo sul primo frame:
    codice:
    disabilitaPulsanti.useHandCursor = false;
    _global.attivaMenu = function(stato:Boolean):Void  {
    	disabilitaPulsanti.enabled = !stato;
    };
    Ho reso falsa la proprietà useHandCursor del pulsantone in modo che non appaia la manina passandoci sopra.
    Quando vorrai disattivare i menu basterà richiamare la funzione passando il valore false in questo modo:
    codice:
    attivaMenu(false)
    E viceversa per riattivarli passerai il valore true:
    codice:
    attivaMenu(true)
    La funzione è dichiarata a livello qlobale per cui potrai richiamarla da qualunque punto del tuo filmato senza specificarne il percorso.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    75
    Ciao , trovo il tuo sistema ottimo solo che non riesco ad applicarlo....
    Ti spiego:
    sul mio stage ho 3 bottoni che richiamanoi ciascuno un swf esterno
    esempio:
    on (release) {
    loadMovieNum("sito_archeologico.swf", 1);
    }

    il mio problema nasce perchè mi rimangono sotto i bottoni attivi ..
    avevo utilizzato
    on (release) {
    loadMovieNum("sito_archeologico.swf", 1);
    tellTarget("../") {
    comeArrivare._visible = false;
    sito._visible = false;
    dintorni._visible = false;
    pulsante_indietro._visible = false;
    pulsante_exit._visible = false;
    }
    }

    ma non funziona ...

    ho utilizzato il tuo metodo :
    1. ho creato un grosso bottone trasparente che ho messo sullo stage sopra i 3 bottoni;
    2. sul primo frame ho messo lo script
    disabilitaPulsanti.useHandCursor = false;
    _global.attivaMenu = function(stato:Boolean):Void {
    disabilitaPulsanti.enabled = !stato;
    };
    3. ho inserito il codice
    on (release) {
    loadMovieNum("sito_archeologico.swf", 1);
    attivaMenu(false)
    }

    succede che i bottoni rimangono subito disattivati ...

    che faccio?

    grazie

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,708
    Puoi richiamare la stessa funzione passando il valore true per abilitare il menu..

    Sul primo frame, dopo la dichiarazione della funzione globale attivaMenu, dovrai quindi inserire anche questo script:
    codice:
    attivaMenu(true);
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    75

    non capisco dove sbaglio

    ho creato un layer per il bottone trasparente e ho posizionato questo sullo stage sopra i 3 bottoni ...

    nel primo frame di questo layer ho messo il codice
    disabilitaPulsanti.useHandCursor = false;
    _global.attivaMenu = function(stato:Boolean):Void {
    disabilitaPulsanti.enabled = !stato;
    };

    al frame numero 100 ho messo il bottone trasparente

    se lascio le cose cosi ho funzionante solo il bottone grande

    se sullo setesso frame 100 metto il codice
    attivaMenu(true);
    è tutto disattivato


  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,708
    Non puoi mettere lo script al primo frame e il bottone al frame 100.
    Lo script infatti richiama l'istanza del bottone e, nel tuo caso, non la trova dato che sta al frame 100..

    Metti lo script al primo frame e il bottone ugualmente al primo frame.

    La funzione attivaMenu(true) devi richiamarla sempre al primo frame in modo che il bottone sia subito disabilitato..

    Al primo frame avrai quindi uno script del genere:
    codice:
    disabilitaPulsanti.useHandCursor = false;
    _global.attivaMenu = function(stato:Boolean):Void  {
    	disabilitaPulsanti.enabled = !stato;
    };
    attivaMenu(true);
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    75
    cosi facendo ho i tre bottoni disattivati perchè il il bottone trasparente li copre .. io vorrei invece che si divattivassero appena si preme su un 4 bottone che apre un altro file swf che si mette sopra ...

    infatti inizialmete pensavo ad una cosa del genere

    on (release) {
    loadMovieNum("exit2.swf", 1);
    pulsante_indietro._visible=false;
    pulsante_exit._visible=false;
    pulsante_come_arrivare._visible=false;
    pulsante_sito._visible=false;
    pulsante_dintorni._visible=false;
    }

    ma non funziona
    ho la versione Flash CS4

    è un casino raga, ho un progetto bloccato per questo ...


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