Ciao,
io dovrei realizzare una sorta di slide di immagini mascherate, dove al termine della prima foto viene caricata la seconda assieme all'effetto maschera.
Esempio poniamo che io abbia fatto questo:
- creo un livello contenente un'immagine, la converto in clipFilmato ed istanzio come "pic".
- creo il livello maschera di pic, inserisco un movieClip vuoto ed istanzio come "empty"
sul primo ed unico frame:
widthnum = 4;
count = 0;
with (empty) {
_x = 0;
_y = 0;
}
xpos = pic._x;
ypos = pic._y;
mascwidth = pic._width/widthnum;
heightNum = Math.round(pic._height/mascwidth)+1;
area = Math.round(widthnum*heightNum);
MovieClip.prototype.rotation = function(x, y, r) {
this.onEnterFrame = function() {
this._x += (x-this._x)/3;
this._y += (y-this._y)/3;
this._rotation += (r-this._rotation)/4;
if (Math.abs(x-this._x)<1 and Math.abs(y-this._y)<1 and Math.abs(r-this._rotation)<1) {
this._x = x;
this._y = y;
this._rotation = r;
delete this.onEnterFrame;
}
};
};
go = function () {
_root.empty["quad"+count]._visible = true;
_root.empty["quad"+count].rotation(_root["myx"+count], _root["myy"+count], 0);
count++;
if (count>=area) {
clearInterval(intervallo);
}
};
for (i=0; i<area; i++) {
_root.empty.createEmptyMovieClip("quad"+i, i);
with (_root.empty["quad"+i]) {
beginFill(0xFF0000, 100);
lineStyle(0.25, 0x000000, 100);
lineTo(0, _root.mascwidth);
lineTo(_root.mascwidth, _root.mascwidth);
lineTo(_root.mascwidth, 0);
lineTo(0, 0);
_visible = false;
}
_root["myx"+i] = xpos+(_root.empty["quad"+i]._width*(i-(widthnum*(Math.floor(i/widthnum)))));
_root["myy"+i] = ypos+(_root.empty["quad"+i]._height*(Math.floor(i/widthnum)));
}
for (i=0; i<area; i++) {
_root.empty["quad"+i]._rotation = Math.floor(Math.random()*180);
}
intervallo = setInterval(go, 10);
Ora se volessi che al termine della prima foto caricasse la seconda e poi una terza?
Come faccio a settare questo?
E come faccio a settare le dimensioni della maschera??
Spero possiate aituarmi.
Grazie![]()

Rispondi quotando
