Non so se ho capito bene cosa vuoi fare, intanto però vorrei fare una precisazione, ad un certo punto tu dici:
diciamo che tale spostamento deve durare 4 secondi (quindi 100 fotogrammi),
Questo è vero solo nel caso tu abbia impostato un frame rate (fps) di 25 fotogrammi al secondo.
Perché se hai impostato un fps diverso, naturalmente cambia tutto.
Comunque vediamo cosa puoi fare...
L'oggetto di cui parli (quello che devi spostare da A a B) è sicuramente un'istanza di un simbolo in libreria, assicurati che come "comportamento" sia stato definito "movieclip".
Per lo spostamento si agirà con un actionscript associato al movieclip (onClipEvent) che varierà (frame x frame) la posizione del clip stesso fino a fargli raggiungere la posizione finale.
Per questo occorrerà:
avere le coordinate di partenza
avere le coordinate di arrivo
calcolare gli spostamenti da farsi ad ogni frame con la formuletta:
distanza = arrivo - partenza
spostamento = distanza/fps
Questo come logica.
Ed ora un esempio, nel quale lo spostamento avviene solo in orizzontale (coordinata _x). Se lo spostamento deve avvenire anche in verticale basta duplicare le istruzioni inserendo le coordinate _y.
Codice da associare al movieclip:
codice:
onClipEvent (load) {
iniz_x = 30; // coord. X di partenza
fine_x = 440; // coord. X di arrivo
this._x = iniz_x; // posiziono il clip alla partenza
step = (fine_x-iniz_x)/12; //calcolo i pixel di avanzamento
arrivato = false; // flag indicante se il clip è arrivato
}
onClipEvent (enterFrame) {
if (!arrivato) {
this._x += step; // cambio la posizione del passo
if (this._x>=fine_x) {
arrivato = true;
}
}
}
Provalo!