Здравствуйте! я создал флеш карусель и у меня возникло несколько вопросов. но сначала код карусели

Код:
var numOfItems:Number;
var numOfItems1:Number = 1;
var xml:XML = new XML();
var xmlList:XMLList = new XMLList();
var xmlLoader:URLLoader = new URLLoader(new URLRequest("myXML.xml"));
xmlLoader.addEventListener(Event.COMPLETE, hadleLoading);
var radiusX:Number = 300;
var radiusY:Number = 75;
var centerX:Number = 1024/2;
var centerY:Number = 600/2;
var home:MovieClip = this;
var speed:Number = 0.03;
var allObjects:Array = [];
function hadleLoading(e:Event):void
{
xml = XML(e.target.data);
xmlList = xml.children();
numOfItems = xmlList.length();
for (var i:int = 0 ; i<numOfItems; i++)
{
var temp:MovieClip = new block();
temp.angel = i*(Math.PI*2/numOfItems);
temp.x =centerX+ radiusX*Math.cos(temp.angel);
temp.y =centerY+ radiusY*Math.sin(temp.angel);
var imageLoader:Loader = new Loader;
imageLoader.load(new URLRequest(xmlList[i].attribute("url")));
temp.addChild(imageLoader);
addChild(temp);
allObjects.push(temp);
temp.addEventListener(Event.ENTER_FRAME, animate);
}
for (var a:int = 0; a<numOfItems1; a++)
{
var temp1:MovieClip = new block1();
temp1.x = centerX;
temp1.y = centerY;
addChild(temp1);
allObjects.push(temp1);
}
}
function animate(e:Event):void
{
e.target.x =470 + radiusX*Math.cos(e.target.angel);
e.target.y =centerY + radiusY*Math.sin(e.target.angel);
e.target.scaleX = e.target.y/(centerX+centerY);
e.target.scaleY = e.target.scaleX;
allObjects.sortOn("y", Array.NUMERIC);
for (var i:int = 0; i<allObjects.length; i++)
{
home.addChild(allObjects[i] as MovieClip);
}
e.target.angel += speed;
}
home.addEventListener(Event.ENTER_FRAME, changeSpeed);
function changeSpeed(e:Event):void
{
speed = (home.mouseX-centerX)/4500;
}
Так вот. я хотел бы узнать, как сделать так, что бы движущиеся обьекты, те которые ближе к нам были намного больше тех, что сзади не увеличивая радиус по оси y. Второй вопрос, как мне написать код прозрачности по оси y, что бы удаляющиеся обьекты потихоньку исчезали. Заранее благодарен