【发布时间】:2012-08-08 07:32:39
【问题描述】:
我正在尝试通过单击按钮将舞台状态更改为不同的状态。问题是some times 得到异常为The supplied DisplayObject must be child of the caller。
这是我试图改变状态的方法
this.currentState = 'fullScreen';
这里this 是canvas。
这是州 fullscreen 的 MXML
<mx:State name="fullScreen">
<mx:RemoveChild target="{lstExpert}"/>
<mx:RemoveChild target="{screenToggle}"/>
<mx:AddChild relativeTo="{outContainer}" position="firstChild">
<mx:HBox id="topHeaderBox" horizontalAlign="left" verticalAlign="middle" width="98.5%" height="60"/>
</mx:AddChild>
<mx:AddChild relativeTo="{topHeaderBox}" position="firstChild" >
<mx:Label id="lblCourseName" width="100%" text="Name" color="#ffffff" fontFamily="Arial" fontSize="14" fontWeight="bold" height="20" />
</mx:AddChild>
<mx:AddChild target="{screenToggle}" relativeTo="{lblCourseName}" position="after" />
<mx:AddChild relativeTo="message" position="before">
<mx:Spacer id="Bar" height="5" width="2" />
</mx:AddChild>
</state>
这里的错误是什么?
【问题讨论】:
-
关于上下文的任何其他信息?例如,定义状态的 MXML 文件,或处理状态更改的 ActionScript 段。因为一个简单的任务不足以了解问题。
-
编辑了问题,使用 MXML 表示新状态
标签: actionscript-3 apache-flex flex3