MovieClip.prototype.tweenTo = function(Obj, speed, callbackObj, func) {
var i = 0;
for (var prop in Obj) {
this[prop] += (Obj[prop]-this[prop])/speed;
if (Math.abs(Obj[prop]-this[prop])<1) {
this[prop] = Obj[prop];
delete Obj[prop];
}
i++;
}
if (!i) {
clearInterval(this.myinterval);
var arg = arguments.slice(4);
callBackObj[func].apply(callbackobj, arg);
}
};
example of use
//mc instance name mc
MovieClip.prototype.callbackfunction = function(a, b, c) {
trace(a);
trace(b);
trace(c);
};
var o = {_x:random(800), _y:random(500), _xscale:random(200), _yscale:random(200), _rotation:random(180)};
mc.myinterval = setInterval(mc, "tweenTo", 40, o, 5, mc, "callbackfunction", "argument1", "argument2", "argument3");
i would be interested to here of similar functions which people have written/any improvements they may suggest.