Actionscript 3 Flex中的显示列表体系结构

Actionscript 3 Flex中的显示列表体系结构,actionscript-3,apache-flex,Actionscript 3,Apache Flex,在一次采访中,我被问及Flex中的显示列表架构。后来我搜索了一下,但没有用。非常感谢您的帮助。显示列表就像一棵树。将Stage对象想象为树的基础。想象一下电影中的嘴唇和精灵,它们以树枝和树叶的形式出现在舞台上。显示列表也是AVM2中事件系统的核心。附加到显示列表的对象(即它们自己或它们的父对象、父对象等)最终连接到后台,可以通过显示列表冒泡事件 无论如何,这是我的简短解释,但您可以从以下链接获得更详细的信息: 显示列表就像一棵树。将Stage对象想象为树的基础。想象一下电影中的嘴唇和精灵,它们

在一次采访中,我被问及Flex中的显示列表架构。后来我搜索了一下,但没有用。非常感谢您的帮助。

显示列表就像一棵树。将Stage对象想象为树的基础。想象一下电影中的嘴唇和精灵,它们以树枝和树叶的形式出现在舞台上。显示列表也是AVM2中事件系统的核心。附加到显示列表的对象(即它们自己或它们的父对象、父对象等)最终连接到后台,可以通过显示列表冒泡事件

无论如何,这是我的简短解释,但您可以从以下链接获得更详细的信息:


显示列表就像一棵树。将Stage对象想象为树的基础。想象一下电影中的嘴唇和精灵,它们以树枝和树叶的形式出现在舞台上。显示列表也是AVM2中事件系统的核心。附加到显示列表的对象(即它们自己或它们的父对象、父对象等)最终连接到后台,可以通过显示列表冒泡事件

无论如何,这是我的简短解释,但您可以从以下链接获得更详细的信息:


这个问题听起来应该是这样的: 当您在mxml代码中写入或任何其他/时,结果显示列表的结构是什么

所以你应该做一些类似的事情:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="onAppComplete();">

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[

        import flash.display.DisplayObject;
        import flash.display.DisplayObjectContainer;
        import mx.controls.Alert;
        import mx.core.UIComponent;
        import spark.components.SkinnableContainer;
        private function onAppComplete(e:* = null):void {
            trace(parseList(stage));
            //Alert.show(parseList(stage));
        }

        private function parseList(uic:DisplayObjectContainer, prefix:String = '>'):String{
            prefix = prefix || '>';
            var retStr:String = '';
            for (var i:int = 0; i < uic.numChildren; i++ ) {
                retStr += prefix + uic.getChildAt(i).name + '\n';
                if (uic.getChildAt(i) is DisplayObjectContainer) {
                    retStr += parseList(uic.getChildAt(i) as DisplayObjectContainer, prefix + '>');
                }
            }
            return retStr; 
        }

        ]]>
    </fx:Script>
    <s:SkinnableContainer>
        <s:Panel>
            <mx:UIComponent>

            </mx:UIComponent>
        </s:Panel>
    </s:SkinnableContainer>
</s:Application>

似乎这个问题听起来应该是这样的: 当您在mxml代码中写入或任何其他/时,结果显示列表的结构是什么

所以你应该做一些类似的事情:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="onAppComplete();">

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Script>
        <![CDATA[

        import flash.display.DisplayObject;
        import flash.display.DisplayObjectContainer;
        import mx.controls.Alert;
        import mx.core.UIComponent;
        import spark.components.SkinnableContainer;
        private function onAppComplete(e:* = null):void {
            trace(parseList(stage));
            //Alert.show(parseList(stage));
        }

        private function parseList(uic:DisplayObjectContainer, prefix:String = '>'):String{
            prefix = prefix || '>';
            var retStr:String = '';
            for (var i:int = 0; i < uic.numChildren; i++ ) {
                retStr += prefix + uic.getChildAt(i).name + '\n';
                if (uic.getChildAt(i) is DisplayObjectContainer) {
                    retStr += parseList(uic.getChildAt(i) as DisplayObjectContainer, prefix + '>');
                }
            }
            return retStr; 
        }

        ]]>
    </fx:Script>
    <s:SkinnableContainer>
        <s:Panel>
            <mx:UIComponent>

            </mx:UIComponent>
        </s:Panel>
    </s:SkinnableContainer>
</s:Application>

问题还不清楚。什么是“显示列表”?您是指基于列表的组件的体系结构,还是指每个可视组件和容器的核心体系结构?@user1113426我认为问题绝对清楚。当谈到Flash时,只有一个显示列表可供讨论。@AscensionSystems在问题中提到的是Flex,而不是Flash。如果是flash,我同意你的看法,没有任何歧义。问题是关于flex4/spark的,它是Flex组件或应用程序的继承层次结构,还是flash的显示列表体系结构。或者,它也可以是关于flex组件生命周期的。。如果问题是关于显示列表,那么正如@AscensionSystems所说的,只有一个diplay列表。问题并不清楚。什么是“显示列表”?您是指基于列表的组件的体系结构,还是指每个可视组件和容器的核心体系结构?@user1113426我认为问题绝对清楚。当谈到Flash时,只有一个显示列表可供讨论。@AscensionSystems在问题中提到的是Flex,而不是Flash。如果是flash,我同意你的看法,没有任何歧义。问题是关于flex4/spark的,它是Flex组件或应用程序的继承层次结构,还是flash的显示列表体系结构。或者,它也可以是关于flex组件生命周期的。。如果问题是关于显示列表的,那么正如@AscensionSystems所说,只有一个diplay列表。提供的链接给出了显示列表的完整解释。谢谢你:很好!。这篇文章应该填补大部分(如果不是全部的话)空白:如果你正在学习flash/flex,那么你肯定也想看看。提供的链接给出了显示列表的完整解释。谢谢你:很好!。这篇文章应该填补大部分(如果不是全部的话)空白:如果你正在学习flash/flex,那么你肯定也想看看。