- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Problemi con maschera...
-
Ciao a tutti inanzitutto visto che sono nuovo...
vi espongo subito il mio problema...
dopo aver caricato con un loadMoive una jpg su un Mc prestabilto, lo smaskero dinamicamente su un onEnterFrame, questo avviene per ogni "ipotetica sezione del sito" conl'idea di avere un bg differente per ogni sezione.
Vorrei però implementare questa funzione con un duplicate Mc in modo tale che ogni volta che una foto si smaskera non lo faccia sul bg del swf. ma lo faccia al di sopra dell'ultima presente, rendendo più interessante l'effetto...
ho dei problemi però con il duplicate: l'idea era quella di duplicare MC che contiene la jpg prima della smaskeramento successivo e una volta smaskerata la nuova foto, eliminarlo o renderlo _visible=false.ecco il codice incriminato!!!
MovieClip.prototype.loada = function(Location, collegamento) {
//// tanica è mc che fa il load movie
tanica._alpha = 0;
_root.visualizza._alpha = 100;
_root.tanica.loadMovie(Location);
//loading
_level0.onEnterFrame = function() {
var total = parseInt(tanica.getBytesTotal());
var loaded = parseInt(tanica.getBytesLoaded());
perc = Math.round((loaded/total)*100);
_root.visualizza._alpha = (100-perc);
_root.visualizza.bar._xscale = (100-perc);
_root.visualizza.percentuale = perc+"%";
if (total == loaded) {
///////
///////
_root.visualizza._alpha = 0;
var w = tanica._width+space;
var h = tanica._height+space;
border.smaskera(w, h, Location, collegamento);
delete this.onEnterFrame;
}
};
};
};
**MovieClip.prototype.smaskera = function(w, h, Location, collegamento) {
var maskClip:MovieClip = tanica.createEmptyMovieClip("mask_mc", 20);
//////?????
** var DuplyClip:MovieClip = tanica.duplicateMovieClip(tanica, "duply", 10);
DuplyClip._alpha = 100;
//////?????
this.onEnterFrame = function() {
tanica._alpha = 100;
with (maskClip) {
// costrusico la maskera delle stesse dimensioni del jpg caricato...
beginFill(0xFF00FF, 100);
moveTo(0, 0);
lineTo(tanica._width, 0);
lineTo(tanica._width, tanica._height);
lineTo(0, tanica._height);
lineTo(0, 0);
endFill();
}
tanica.setMask(maskClip);
////attivo la maskeratura
var mask_tween:Object = new Tween(maskClip, "_yscale",Strong.easeOut, 0, 100, 1.3, true);
mask_tween.onMotionStopped = function() {
carica(collegamento);
DuplyClip._alpha = 0;
};delete this.onEnterFrame; };
};
HELP!!!!!!!!!!!!!!!! grazie e spero possa essere d'aiuto e approfondimento sul tema già aperto...
-
Ciao ebugrafik e benvenuto nel forum GT
Il codice che hai postato purtroppo mi complica un po la vita in quanto ci sono 3-4 passi che utilizzano dei metodi obsoleti.
Personalmente non uso mai duplicateMovieClip in quanto da troppi problemi con i depths.
Non potresti caricare un'immagine sopra l'altra?
Quella che sta sopra a quella che deve scomparire la carichi _alpha=0; e poi la fai entrare piano piano.
Spero di non aver capito male
-
obsoleto ..... ? Come sarebbe a dire obsoleto ? E io che stò a impazzire da settimane per far funzionare una benedetta maschera ... !!! Mi dite quale metodo allora può sostituire l'obsoleto DuplicateMClip ?!
Thanks all
-
Non mi riferivo a duplicateMovieClip come metodo obsoleto.
Mi riferivo a:var mask_tween:Object = new Tween(maskClip, "_yscale",Strong.easeOut, 0, 100, 1.3, true);
mask_tween.onMotionStopped = function() {
carica(collegamento);
DuplyClip._alpha = 0;
};e a questo:
MovieClip.prototype.loada = function(Location, collegamento)Ripeto ,
**consiglio strettamente personale:
**il metodo duplicateMovieClip mi ha sempre dato svariati problemi con i depths per cui sconsiglio di usarlo.
Se qualcuno di voi lo vuole utilizzare comunque, si legga la guida Actionscript per cortesia in quanto io non lo uso mai.
-
Mmmm..... quindi dato che di problemi con le maschere non ne ho pochi .... cosa mi consigli come alternativa al DuplicateMClip ? Se il CLIP di esempio ha + di 1 oggetto all'interno ?!?! Non è troppo impegnativo a livello di righe ?
thanks
Gandalf
-
Io sto facendo un po di confusione...
Ma tu sei anche ebugrafik?
-
no no sono gandalf e basta il ebugrafik non sò che fine abbia fatto ........
thanks
-
Praticamente invece di duplicare la clip, la crei all'interno di un ciclo.
-
Mmmmm .... ok ci stò forse te l'ho già chiesto ma se puoi ... mi rifaresti un piccolo esempiuccio ....
thnks
gandalf
-
Ad esempio:
hai la tua clip in libreria.
Con un ciclo fai un attachMovie della clip dalla libreria allo Stage.for(var i:Number=0;i<6;i++) { var clip:MovieClip=_root.attachMovie('mc_clip','clip_'+i+'_mc',_root.getNextHighestDepth()); }
-
grazie mille FLEP
Gandalf
-
sorry...non è che mi sono disinteressato...diciamo che per un paio di mesi non sono stato in Italia ma in giro lontano dai pc...comunque apparte tutto è vero quello che ha suggerito flep...
in particolare, "var mask_tween:Object=..." mi ha creto parecchi problemi...x un po' l'ho usato vista la sua apparente praticità...
ciao e grazie di nuovo