Ciao.
Ho preparato una funzione che ti permette di fare quello che chiedi, in maniera da usarla migliaia di volte.
codice:
intervalArray = new Array();
function ridimensiona(secondi, percInizio, percFine, movieclip, inizio, intervallo) {
fine = inizio+(secondi*1000);
ora = getTimer();
if (ora<fine) {
eval(movieclip)._xscale = percInizio+(percFine-percInizio)/(fine-inizio)*(ora-inizio);
eval(movieclip)._yscale = eval(movieclip)._xscale;
} else {
eval(movieclip)._xscale = percFine;
eval(movieclip)._yscale = percFine;
clearInterval(intervalArray[intervallo]);
}
}
Questa va posizionata in un frame della linea temporale, va bene anche il frame su cui stanno i tuoi elementi (il pulsante e il movieclip) oppure un frame precedente, l'importante è che non si trovi su un frame successivo, altrimenti ti troveresti a chiamare (cliccando sul pulsante) una funzione non ancora definita.
Ora passiamo al pulsante... tutti gli elementi che ti servono li puoi definire qui dentro... ecco un esempio:
codice:
on (press) {
inizio = getTimer();
mc = "movieclip2";
percInizio = eval(mc)._xscale;
percFine = 200;
secondi = 3;
intervalArray[intervalArray.length] = setInterval(ridimensiona, 10, secondi, percInizio, percFine, mc, inizio, intervalArray.length);
}
Le variabili che puoi personalizzare sono:
1. mc - Stringa - Il nome del movieclip che vuoi ridimensionare.
2. percInizio - Numero - La percentuale iniziale, nell'esempio uso la percentuale attuale del movieclip, tu puoi decidere di partire sempre dal 100%, dal 200%, ecc...
3. percFine - Numero - La percentuale di ridimensionamento al termine, nell'esempio è 200%, significa il doppio delle dimensioni originali, tu puoi anche decidere di utilizzare altri valori, per esempio se fosse
codice:
percFine = eval(mc)._xscale/2;
otterresti di dimezzare la dimensione ad ogni click, oppure puoi decidere di raddoppiarla o che ne so io.
4. secondi - Numero - In quanti secondi deve essere eseguito il ridimensionamento, nell'esempio è 3, come volevi tu.
Una domanda che mi aspetto è "a che serve mettere gli intervalli in un array?"
Ho usato questo sistema così da lasciarti libero di creare tutti i pulsanti che vuoi, ognuno che comandi un movieclip diverso, senza che i vari "setInterval" e "clearInterval" litighino tra loro.