Ciao!
È possibile realizzare un swf che, caricato con loadMovieNum, funzioni come maschera ma anche contenga della grafica visibile?
Ciao!
È possibile realizzare un swf che, caricato con loadMovieNum, funzioni come maschera ma anche contenga della grafica visibile?
Certamente!
Una peculiarità di Flash è proprio quella di avere lo sfondo trasparente che, di conseguenza, ti consente di realizzare le cose che hai immaginato.
Ok, ma caricare una MC in un livello che funzioni come maschera su quelli sottostanti?
Più precisamente, carico un filmato X in un livello e il contenuto dei livelli sottostanti sono visibili solo in corrispondenza degli oggetti presenti nel filmato X.
C'è da fare alcune precisazioni.
> La maschera funziona così: qualcosa che impedisce la visualizzazione di ciò che sta sotto tranne che nelle zone dove è presente una forma o simbolo. In pratica le forme della maschera sono come un buco che consentono di vedere ciò che sta sotto, il resto risulta invisibile.
> Da Flash-MX in poi è possibile utilizzare come maschera, oltre ad una comune forma anche un movieclip
> Quando una forma/movieclip viene utilizzato come maschera, niente di detta forma/movieclip è visibile. COme detto sopra, di fatto è un buco.
> Per mascherare si può ricorrere a due metodi:
--> utilizzando un "livello maschera"
--> utilizzando ActionScript
> Qualora ad un livello mascherato venga successivamente applicata una diversa maschera via ActionScript, non sarà più possibile ripristinare l'originale livello maschera.
Tutto ciò premesso, ritengo NON perseguibile il metodo del loadMovieNum (caricamento di un filmato esterno su un livello superiore) per effettuare una mascheratura.
Occorrerà invece ricorrere ad un loadMovie (caricamento di un filmato esterno dentro un movieclip -magari vuoto-) quindi utilizzare quest'ultimo mc come maschera via ActionScript.
Esempio:
Mioclip : istanza del movieclip da mascherare
Contenitore: istanza movieclip vuoto
// carico il filmato esterno che fungerà da maschera...
Contenitore.loadMovie("maschera.swf");
Mioclip.setMask(Contenitore);
Perfetto, sei stato chiarissimo e hai già risposto agli ulteriori dubbi che mi stavano venendo in mente. Ora faccio qualche prova per vedere quale strada prendere. Grazie mille!