Originariamente inviato da fbolo73
ma dove devo metterlo il codice,
sul layer che contiene i due mc,
sulle action di uno dei due mc,
o da qualche altra parte, magari
come consequenza di un evento?
ciao.
adesso ho bisogno di sapere se vuoi che lo spostamento sia netto o graduale.
Inoltre non ho capito bene e lo spostamento deve avvenire da solo o tramite comando dell'utente.
Nel primo caso disegni due clip sullo stage e dai nome istanza "clip1_mc" e "clip2_mc) e assegni alla timeline il seguente codice:
codice:
stop();
//Prototype che muove un mc nella posizione x,y specificata
//e lo scala del valore endScale passato in argomento
MovieClip.prototype.spostaMc = function(endX, endY, speed) {
this.onEnterFrame = function() {
var offset = 0.5;
var rx = Math.abs(endX-this._x);
var ry = Math.abs(endY-this._y);
var rscale = Math.abs(endScale-this._xscale);
//Muovo il mc finche nn raggiunge la sua posizione finale e lo scalaggio desiderato
if ((!(rx<=offset)) && (!(ry<=offset))) {
if ((!(rx<=offset)) && (!(ry<=offset))) {
var dx = rx/speed;
var dy = ry/speed;
(this._x<endX) ? this._x += dx : this._x -= dx;
(this._y<endY) ? this._y += dy : this._y -= dy;
}
} else {
//A spostamento completato e scalaggio desiderato elimino l'enterframe
delete this.onEnterFrame;
}
};
};
clip1_mc.spostaMc(500, 201, 10);
this.onEnterFrame = function() {
if (clip1_mc._x>200) {
clip2_mc.spostaMc(200, 300, 5);
}
};