我想要一个带有一些“浮动”属性的画布。基本上当我添加孩子时,孩子应该漂浮在顶部。当我添加第二个孩子时,它应该漂浮在前一个孩子之上。
例如画布宽度为100,我有两个宽度为100且高度为75的VideoDisplay。
canvas.addChild(video0);
// Or canvas.addChildAt(video0, 0);
// video0 should be at x=0 and y=0
canvas.addChild(video1);
// Or canvas.addChildAt(video1, 1);
// video1 should be at x=0 and y=0, while video0 x=0 and y=75
我不确定这是否可行,通过Flex SDK或任何第三方库?感谢。
答案 0 :(得分:1)
您需要做的是创建一个带有DisplayObject的函数,重新定位其他子元素,然后添加子元素。
private var displayObjects:ArrayCollection;
public function addFloatingChild(object:displayObject):void
{
// loop through displayObjects to set new positions
for(var i:uint; i < displayObjects.length; i++)
{
// logic for new position
}
// keep reference to child
displayObjects.addItemAt(object, 0);
// this will always put on top of other children
// this will always position at 0, 0
this.addChild(object);
}
答案 1 :(得分:0)
我只是用谷歌搜索了一下,找到了一个非常有用的第三方库flexlib。对于具有相同需求的用户,flexlib提供满足您需求的FlowContainer。