TanaTiX, либо вы не поняли меня, либо я вас. По какому принципу работают твинеры?

Код AS3:
TweenLite.to(mc, 5, {alpha:.4, width:60} );
Вот как пример. Мы передаем Что_будем_изменять, Время и обджект с параметрами. Можно указать ширину, а можно высоту. А можно и высоту, и ширину, и альфу и чего там только нельзя. Вот по такому же принципу и я свое сделал. По умолчанию в классе определены приватные переменные с какими-то значениями. Можно не передавать обджект, тогда создастся экземпляр класса с этими дефолтными параметрами. Но можно передать, скажем, {x: 100} - и все, дефолтное значение меняется на это и координата по иксу уже другая.
Вот полный код, надеюсь, меня не покарают за такие большие листинги:

Код AS3:
package kordum.components {
import flash.display.Sprite;
import flash.events.Event;
/** @author KorDum
* @param x, y : int
* @param width, height : uint
* @param color : uint
* @param alpha : Number [0, 1]
* @param border : uint (0 - border 1px)
* @param borderColor : uint
* @param borderAlpha : Number [0, 1]
* @version 1.1 **/
public class BgSimple extends Sprite {
private var $x:int = 0;
private var $y:int = 0;
private var $width:uint = 550;
private var $height:uint = 400;
private var $color:uint = 0xFFFFFF;
private var $alpha:Number = 1.0;
private var $border:uint;
private var $borderColor:uint = 0x000000;
private var $borderAlpha:Number = 1.0;
public function BgSimple(properties:Object = null) {
if (properties) {
if (properties.x !== undefined) $x = properties.x;
if (properties.y !== undefined) $y = properties.y;
if (properties.width !== undefined) $width = properties.width;
if (properties.height !== undefined) $height = properties.height;
if (properties.color !== undefined) $color = properties.color;
if (properties.alpha !== undefined) $alpha = properties.alpha;
if (properties.border !== undefined) $border = properties.border;
if (properties.borderColor !== undefined) $borderColor = properties.borderColor;
if (properties.borderAlpha !== undefined) $borderAlpha = properties.borderAlpha;
}
this.addEventListener(Event.ADDED_TO_STAGE, ifAdd);
}
private function ifAdd(e:Event):void {
this.removeEventListener(Event.ADDED_TO_STAGE, ifAdd);
this.graphics.lineStyle($border, $borderColor, $borderAlpha);
this.graphics.beginFill($color, $alpha);
this.graphics.drawRect(0, 0, $width, $height);
this.x = $x;
this.y = $y;
}
}
}