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

    Disabilitare un intero livello

    Buondì a tutti,
    ho cercato un po' nei vecchi post ma non ho trovato nulla che mi soddisfi appieno:
    Io dal _levelo0 carico un altro filmato che si sovrappone alla "root" e vorrei disabilitare con poche righe di codice tutto quello che c'è nel livello chiamante.
    per essere più chiari, l'ideale sarebbe avere la possibilità di scrivere un bel
    _level0.enabled = false;
    e allo stesso modo per riabilitare tutto:
    _level0.enabled = true;
    Purtroppo questa funzionalità non c'è... peccato... quindi la mia domanda è la seguente: come posso fare a disabilitare tutti i pulsanti del _level0? tenete conto che i pulsanti in questione non sono presenti solo nella _root, ma sono anche all'interno di altri oggetti, quindi se scrivessi solo:
    codice:
    for(var a in _level0){
    		if (_level0[a] instanceof Button) {
    			var btn= _level0[a]
    			btn.enabled = true;
    			btn.useHandCursor= true;
    		}
    	}
    .. non funzionerebbe al 100%.

    Grazie a tutti.

    ps: sapete per caso come mai non è possibile disabilitare un intero livello? sarebbe una funzionalità molto utile, strano che quelli di macromedia non ci abbiano pensato...

  2. #2
    Ehm...temo che dovrai ampliare il ciclo.
    Se son bottoni li disabiliti, se son clip filmato e grafici, ci entri dentro con un ciclo e controlli cosa contiene. Pensandoci credo che dovrai creare una funzione. Senno potresti ritrovarti a fare clicli annidati infiniti.

    Qualcosa tipo

    codice:
    for(var a in _level0){
    		if (_level0[a].instanceof Button) {
    			oggetto.enabled = true;
    			oggetto useHandCursor= true;
    		}
    		if (_level0[a] instanceof MovieClip) {
                            Controlla(_level0[a])
    		}
    	}
    }
    
    function Controlla(oggetto){
       for(var a in oggetto){
    		if (oggetto[a] instanceof Button) {
    			oggetto[a].enabled = true;
    			oggetto[a]useHandCursor= true;
    		}
    		if (oggetto[a] instanceof MovieClip) {
                            Controlla(oggetto[a])
    		}
    	}
    }
    Ovviamente sto sparando a caso per cui i target potrebbero essere sbagliati, nonchè quel "movieclip" che non so se effettivamente esiste, e potrebbe essere pure sbagliata la logica -_-

    Devi anche cambiare il nome della variabile che cicli, credo.

  3. #3
    Temevo fosse questa la risposta

    uff...
    ma non si potrebbe chieder a macromedia di implementare una funzione di questo tipo?

    Grazie &

  4. #4
    Magari c'è un altro modo, ma io non lo conosco ^^

  5. #5
    hehe... invece mi sa proprio che non c'è un altro modo... se non quello di fare dei cicli per trovare ogni istanza e disabilitarla (e riabilitarla)...
    grazie ugualmente

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.