flex – actionscript addChild首先需要一个显示对象
发布时间:2020-12-15 02:11:15 所属栏目:百科 来源:网络整理
导读:解: 如果你有同样的问题,addElement()而不是addChild()就是这样做的 我正试图从mxml转移到actionsctipt.我有一个 s:Rect我已创建并设置其属性,但无法添加它. var aRect:Rect = new Rect();//set properties like aRect.x,aRect.y,aRect.width,aRect.height
解:
如果你有同样的问题,addElement()而不是addChild()就是这样做的 我正试图从mxml转移到actionsctipt.我有一个< s:Rect>我已创建并设置其属性,但无法添加它. var aRect:Rect = new Rect(); //set properties like aRect.x,aRect.y,aRect.width,aRect.height //tried adding it various ways addChild(aRect); Application.addChild(aRect); Application.application.addChild(aRect); stage.addChild(aRect); 但我一直在收到错误 最初在mxml中,它位于< s:Application>内部.没有嵌套在任何东西里面 <s:Application> <s:Rect id="aRect" x="10" y="10" width="15%" height="15%"> //then fill code here,removed for readability </s:Rect> </s:Application> 什么是交易,我认为actionscript会比mxml更好. 解决方法
这是因为Flex 4显着改变了显示层次结构在基于MXML的应用程序中的工作方式.这有点令人困惑,因为addChild()不再像你想要的那样工作 – 你必须向数据提供者添加元素,然后显示那些元素的逻辑(哪些元素添加到哪里,如何为它们设置外观等)在其他地方处理.然而,这是一种有用的改变,因为它迫使你以一种非常具体的方式分离你的关注点.将所有元素添加到dataProvider后,您可以随意更换Layout对象(即使在运行时),以更改应用程序的外观.
编辑:从技术上讲,他们改变了不是displayList本身.事实上,Flex使用的基本单元现在是“组” – 甚至是:应用程序扩展组.您将内容添加到组(或顶级应用程序),然后为组分配布局以告诉它如何显示您添加的项目. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |