Flash: effetto scroll sparito

Di: micgamba1972 | 26/09/2020 18:08:12
Ciao a tutti,
ho creato un MCL di scrolling che funziona egregiamente quando lo importo sul mio file principale usando a LoadInit e MovieClipLoader. Però l'effetto "scrol" non c'è più mentre i pulsanti che sono dentro il MCL funzionano... mi date una mano per favore?
Vi i codici dei seguenti file:
artprov1.fla: sito principale :
var mcl:MovieClipLoader = new MovieClipLoader ();
var mclL:Object = new Object ();
trace(holder2);
mclL.onLoadProgress = function (target,loaded,total) {
loader.percent.text = Math.round ((loaded/total) * 100) +"%";
}
mclL.onLoadInit = function () {
loader._visible = false;
loader.percent.text ="";
}
mcl.addListener(mclL)
b1.onRelease = function () {
loader._visible = true
mcl.loadClip("scroll forum.swf", holder2);
}
scroll forum.fla: file scrolling
nel cursore:
onClipEvent (load) {
setProperty(this, _x, int(_x));
}
onClipEvent (enterFrame) {
a = new Object();
a.y = this._y;
a.x = this._x;
_root.scroll_movie.barra.globalToLocal(a);
b = int(a.x*2);
}
nel "keyframe" azioni:
_root.scroll_movie.cursore.p_barra.onPress = function() {
_root.scroll_movie.cursore.startDrag(false,8,8,600,8);
};
_root.scroll_movie.cursore.p_barra.onRelease = function() {
_root.scroll_movie.cursore.stopDrag();
};
_root.scroll_movie.cursore.p_barra.onReleaseOutside = function() {
_root.scroll_movie.cursore.stopDrag();
};
var mcl:MovieClipLoader = new MovieClipLoader ();
var mclL:Object = new Object ();
mclL.onLoadProgress = function (target,loaded,total) {
loader.percent.text = Math.round ((loaded/total) * 100) +"%";
}
mclL.onLoadInit = function () {
loader._visible = false;
loader.percent.text ="";
}
mcl.addListener(mclL)
mcl.loadClip("progetto michela.swf", holders3.holder1);
mcl.loadClip("progetto easy.swf", holders3.holder2);
mcl.loadClip("progetto tee.swf", holders3.holder3);
michela.onRelease = function () {
loader._visible = true
mcl.loadClip("descrizione michela.swf", _level0.holder2);
}
fashion.onRelease = function () {
loader2._visible = true
mcl.loadClip("books.swf", holder3);
}
stop();
onClipEvent (enterFrame) {
this._y = -(_root.scroll_movie.cursore.b);
}
spero vi capiate...grazie infinite

Risposte


lockroot

Ciao Micgamba,
il problema in questi casi è sempre il riferimento a _root che indica il livello più basso del Filmato.
Se un filmato viene caricato all’interno di un altro filmato, la parola _root si riferisce al filmato contenitore, il filmato caricato è come se fosse un MovieClip, quindi il riferimento fallisce.
Per risolvere questo problema esiste una proprietà che si chiama lockRoot e si usa così:
MovieClip._lockroot = true;
...dove MovieClip è il Clip Filmato su cui carichi il filmato esterno.

Di: Professore | 26/09/2020 18:08:12


grazie infinite!!!
prendo l'occasione per ringraziarti perchè in questo anno mi hai aiutato un sacco...
grazie ancora

Di: micgamba1972 | 26/09/2020 18:09:12