Im пытается создать вертикальную форму (в этом случае 5) элементов каждый раз, когда предыдущие 5 прошли центр сцены. Но что я делаю для каждого элемента, который прошел центр, я создаю 5 новых. Итак, в 1-й момент у меня есть 1 элемент.Как создать вертикальную линию элементов
, когда он проходит через центр у меня есть 5
, когда они проходят центр у меня есть 5 для каждого из тех, 5 (делает в общей сложности 25) , но они имеют один и тот же X и Y позиции, и они над стек и выглядеть как есть только 5 новый
, когда они проходят в центре у меня есть 5 для каждого из тех 25 (делает намного больше, чем то, что я хочу (и я хочу только 5)) они тоже над стеком
Как это сделать, что я добавляю только 5 в новый столбец ??
до сих пор у меня есть этот код:
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip
{
private var myVertArray:Array = new Array();
private var _box:Box = new Box();
public function Main()
{
_box.x = stage.stageWidth - _box.width;
_box.y = stage.stageHeight - 200;
this.addChild(_box);
myVertArray.push(_box);
stage.addEventListener(Event.ENTER_FRAME, onEveryFrame);
}
private function onEveryFrame(ev:Event):void
{
var _myItem:Box
for (var i:int = 0; i < myVertArray.length; i++)
{
_myItem = myVertArray[i]
_myItem.x -= 3;
if(_myItem.x < stage.stageWidth/2 && !_myItem.passedCenter)
{
trace("myVertArray.length is : " + myVertArray.length)
_myItem.passedCenter = true
for(var j:int = 0; j < 5; j++)
{
var _myNewItem:Box = new Box();
_myNewItem.x = stage.stageWidth - 40;
_myNewItem.y = stage.stageHeight - (_myNewItem.height * j) - (j * 5) - _myNewItem.height /2 ;
_myNewItem.alpha = 0.2;
this.addChild(_myNewItem);
myVertArray.push(_myNewItem)
}
}
}
if(_myItem.x < 0)
{
removeChild(_myItem);
myVertArray.splice(i, 1);
}
}
}
и в Box() класс только простой прямоугольник MovieClip, в котором я также
public var passedCenter:Boolean = false