Я не уверен, где именно это происходит, но я пытаюсь сделать тикер прокрутки с помощью flex, и он отлично работает, когда на экране есть один из них, но когда их два, случаются странные вещи
Способ, которым я разработал это для обновления в реальном времени, когда дочерний элемент моего hbox исчезает с экрана, я удаляю его и добавляю другого дочернего элемента в конец. Это происходит для сброса позиции Х на hbox, что не так уж и плохо, но также сбрасывает позицию Х любого другого моего hbox на экране. Вот код, который демонстрирует то, что я вижу:
Чтобы использовать это, запустите программу flex, затем щелкните в первом hbox, чтобы установить его положение x для вашей мышиX. Когда позиция x второго hbox (hbox3) будет сброшена, то же будет и позиция первого hbox (hbox2) X.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application creationComplete="addToBoxes()" xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" >
<mx:Script>
<![CDATA[
import mx.controls.Button;
private const speed:Number = 1;
private function moveBox3():void{
box3.move(box3.x + speed, box3.y)
if(Math.random() > .99 && box3.numChildren > 0)
box3.removeChildAt(0)
callLater(moveBox3)
}
private function addToBoxes():void{
for(var i:int = 0; i < 8; i++){
var a:Button = new Button;
box2.addChild(a);
a.label = "Box2:" + String(i)
}
for(var j:int = 0; j < 8; j++){
var b:Button = new Button;
box3.addChild(b)
b.label = "Box3: " + String(j)
}
}
]]>
</mx:Script>
<mx:HBox id="box2" width="100%" click="box2.x = mouseX" borderStyle="solid"/>
<mx:HBox id="box3" width="100%" creationComplete="moveBox3()" borderStyle="solid"/>
</mx:Application>
Как я могу предотвратить это или как лучше сделать тикер обновления, как я пытаюсь сделать?