【问题标题】:Flex - objects floating at the top of a canvas?Flex - 漂浮在画布顶部的对象?
【发布时间】:2011-03-08 22:02:57
【问题描述】:

我想要一个带有一些“浮动”属性的画布。基本上当我添加孩子时,孩子应该漂浮在顶部。当我添加第二个孩子时,它应该浮动在前一个孩子的上方。

例如画布宽度为 100,我有两个 VideoDisplay,宽度为 100,高度为 75。

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 或任何第三方库实现?谢谢。

【问题讨论】:

  • 必须是 Canvas 吗?听起来像是您正在构建的列表。

标签: apache-flex canvas


【解决方案1】:

我刚刚google了一下,发现了一个非常有用的第三方库flexlib。对于那些有相同需求的人,flexlib 提供了一个FlowContainer 来满足您的需求。

【讨论】:

    【解决方案2】:

    您需要做的是创建一个函数,该函数接受一个 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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 2017-10-12
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      相关资源
      最近更新 更多