Хотел сделать код таким как советовал
ramshteks, сделал, и проблема с тем итемом что велял исчезла. Но, но я никак не могу сделать чтобы работало перекрытие (функция sortBySize) после того как немного изменил код. Я так понимаю что или в Item вызывать ее нужно из Carousel, или если ее поместить в Item, тогда нужно как-то найти там itemArray что в Carousel, что мне кажеться странным. Короче говоря, я незнаю как такое реализовать, искал - не нашел, может потому что незнал что толком искать.
Вот, посмотрите сами:
Document class: main.Carousel
Код:
package main {
import flash.display.MovieClip;
public class Carousel extends MovieClip {
private var numOfItems:uint = 10;
private var itemArray:Array = new Array;
public function Carousel() {
for (var i:uint = 0; i < numOfItems; i++) {
var item:Item = new Item();
item.angl = i * ((Math.PI * 2) / numOfItems);
itemArray.push(item);
addChild(item);
}
}
//Работало когда тут стояла функция enterFrameHandler
/*public function sortBySize():void {
itemArray.sortOn("scaleX", Array.DESCENDING | Array.NUMERIC);
itemArray.reverse();
for(var i:uint = 0; i < itemArray.length; i++) {
var item:Item = itemArray[i];
setChildIndex(item, i);
}
}*/
}
}
main.Item
Код:
package main {
import flash.display.MovieClip;
import flash.events.Event;
public class Item extends MovieClip {
public var angl:Number;
static var radiusX:uint = 250;
static var radiusY:uint = 75;
private var centerX:Number = 400;
private var centerY:Number = 300;
private var speed:Number = 0.05;
public function Item() {
masker.cacheAsBitmap = reflection.cacheAsBitmap = true;
reflection.mask = masker;
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function enterFrameHandler(event:Event):void {
x = Math.cos(angl) * radiusX + centerX;
y = Math.sin(angl) * radiusY + centerY;
var scale:Number = y / (centerY + radiusY);
scaleX = scaleY = scale;
angl += speed;
speed = (stage.mouseX - centerX) / 6000;
//Нужно как-то сюда, чтобы работало
//sortBySize();
}
}
}
Ну и еще второй вопрос: как в main.Item найти stage.stageWidth и stage.stageHeight?