Multiple Motion Tween Optimisation

Ive been using Flash and Kirupa for some time now, Kirupa is awesome, but i never got around to using your forums.

Anyway, here is my code:


stop();

import mx.transitions.Tween;
import mx.transitions.easing.*;

logo_tp._alpha = 0;
homebtn1._alpha = 0;
homebtn1_opt1._alpha = 0;
homebtn1_opt2._alpha = 0;
homebtn2._alpha = 0;
homebtn3._alpha = 0;
homebtn4._alpha = 0;

var logoalpha:Tween = new Tween(logo_tp, "_alpha", None.easeNone, 0, 100, 15, false);
var logoxin:Tween = new Tween(logo_tp, "_xscale", Back.easeOut, 50, 100, 30, false);
var logoyin:Tween = new Tween(logo_tp, "_yscale", Back.easeOut, 50, 100, 30, false);

logoyin.onMotionFinished = function(){
    var ease:Function = new Function(Back.easeOut);
    var frames:Number = new Number(30);
        
    obj = homebtn1
    var num:Tween = new Tween(obj, "_alpha", None.easeNone, 0, 100, frames / 2, false);
    var num:Tween = new Tween(obj, "_xscale", ease, 50, 100, frames, false);
    var num:Tween = new Tween(obj, "_yscale", ease, 50, 100, frames, false);
    obj = homebtn2        
    var num:Tween = new Tween(obj, "_alpha", None.easeNone, 0, 100, frames / 2, false);
    var num:Tween = new Tween(obj, "_xscale", ease, 50, 100, frames, false);
    var num:Tween = new Tween(obj, "_yscale", ease, 50, 100, frames, false);
    obj = homebtn3        
    var num:Tween = new Tween(obj, "_alpha", None.easeNone, 0, 100, frames / 2, false);
    var num:Tween = new Tween(obj, "_xscale", ease, 50, 100, frames, false);
    var num:Tween = new Tween(obj, "_yscale", ease, 50, 100, frames, false);
    obj = homebtn4        
    var num:Tween = new Tween(obj, "_alpha", None.easeNone, 0, 100, frames / 2, false);
    var num:Tween = new Tween(obj, "_xscale", ease, 50, 100, frames, false);
    var num:Tween = new Tween(obj, "_yscale", ease, 50, 100, frames, false);
    obj = homebtn_shad        
    var num:Tween = new Tween(obj, "_alpha", None.easeNone, 0, 100, frames / 2, false);
    var num:Tween = new Tween(obj, "_xscale", ease, 50, 100, frames, false);
    var num:Tween = new Tween(obj, "_yscale", ease, 50, 100, frames, false);
}

homebtn1.onPress = function() {
    homebtn1_opt1._alpha = 100;
    homebtn1_opt2._alpha = 100;
    
    var homebtn1xover:Tween = new Tween(homebtn1, "_x", Bounce.easeOut, homebtn1._x, 630, 20, false);
    var homebtn1yover:Tween = new Tween(homebtn1, "_y", Bounce.easeOut, homebtn1._y, 473, 20, false);
    
    var homebtn1_opt1x:Tween = new Tween(homebtn1_opt1, "_x", Bounce.easeOut, homebtn1_opt1._x, 200, 20, false);
    var homebtn1_opt1y:Tween = new Tween(homebtn1_opt1, "_y", Bounce.easeOut, homebtn1_opt1._y, 120, 20, false);
    var homebtn1_opt2x:Tween = new Tween(homebtn1_opt2, "_x", Bounce.easeOut, homebtn1_opt2._x, 200, 20, false);
    var homebtn1_opt2y:Tween = new Tween(homebtn1_opt2, "_y", Bounce.easeOut, homebtn1_opt2._y, 180, 20, false);
}

homebtn1.onRelease = function() {
    var homebtn1xout:Tween = new Tween(homebtn1, "_x", Bounce.easeOut, homebtn1._x, 650, 20, false);
    var homebtn1yout:Tween = new Tween(homebtn1, "_y", Bounce.easeOut, homebtn1._y, 493, 20, false);
    
    var homebtn1_opt1x:Tween = new Tween(homebtn1_opt1, "_x", Bounce.easeOut, homebtn1_opt1._x, 440, 20, false);
    var homebtn1_opt1y:Tween = new Tween(homebtn1_opt1, "_y", Bounce.easeOut, homebtn1_opt1._y, 280, 20, false);
    var homebtn1_opt2x:Tween = new Tween(homebtn1_opt2, "_x", Bounce.easeOut, homebtn1_opt2._x, 440, 20, false);
    var homebtn1_opt2y:Tween = new Tween(homebtn1_opt2, "_y", Bounce.easeOut, homebtn1_opt2._y, 280, 20, false);
}

homebtn1.onReleaseOutside = function() {
    var homebtn1xout:Tween = new Tween(homebtn1, "_x", Bounce.easeOut, homebtn1._x, 650, 20, false);
    var homebtn1yout:Tween = new Tween(homebtn1, "_y", Bounce.easeOut, homebtn1._y, 493, 20, false);
    
    var homebtn1_opt1x:Tween = new Tween(homebtn1_opt1, "_x", Bounce.easeOut, homebtn1_opt1._x, 440, 20, false);
    var homebtn1_opt1y:Tween = new Tween(homebtn1_opt1, "_y", Bounce.easeOut, homebtn1_opt1._y, 280, 20, false);
    var homebtn1_opt2x:Tween = new Tween(homebtn1_opt2, "_x", Bounce.easeOut, homebtn1_opt2._x, 440, 20, false);
    var homebtn1_opt2y:Tween = new Tween(homebtn1_opt2, "_y", Bounce.easeOut, homebtn1_opt2._y, 280, 20, false);
}

Most of it is useless or repeated over and over again. As you can see I tried some optimisation in the middle but I wanted to incorporate loops etc. and i couldn’t get it to work. I just want to make the code shorter overall, should save me some time adding the other 3 buttons. I’m not demanding you rewrite for me either, just give me a suggestion or maybe enhance a part of it so i get the gist.

Any tips?

If you need more information tell me, I may have missed something…