加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex 学习笔记 stage

发布时间:2020-12-15 04:56:21 所属栏目:百科 来源:网络整理
导读:flexAPI里面介绍: 显示对象的舞台。Flash 应用程序只有一个 Stage 对象。例如,您可以创建多个显示对象并加载到显示列表中,每个显示对象的 stage 属性是指相同的 Stage 对象(即使显示对象属于已加载的 SWF 文件)。 如果显示对象未添加到显示列表,则其 s

flexAPI里面介绍:

显示对象的舞台。Flash 应用程序只有一个 Stage 对象。例如,您可以创建多个显示对象并加载到显示列表中,每个显示对象的 stage 属性是指相同的 Stage 对象(即使显示对象属于已加载的 SWF 文件)。

如果显示对象未添加到显示列表,则其 stage 属性会设置为 null

示例:

 
 
  1. import?flash.text.TextField; ?
  2. ?
  3. var?tf1:TextField?=?new?TextField(); ?
  4. tf1.text?=?"Text?Field?1"; ?
  5. tf1.border?=?true; ?
  6. tf1.x?=?10; ?
  7. addChild(tf1); ?
  8. tf1tf1.width?=?tf1.stage.stageWidth?/?2?-?10; ?
  9. ?
  10. var?tf2:TextField?=?new?TextField(); ?
  11. tf2.text?=?"Text?Field?2"; ?
  12. tf2.border?=?true; ?
  13. tf2.x?=?tf1.x?+?tf1.width?+?5; ?
  14. addChild(tf2); ?
  15. tf2tf2.width?=?tf2.stage.stageWidth?/?2?-?10; ?
  16. ?
  17. trace(stage.stageWidth); ?

Application 初始化函数里面获取 this.stage 属性怎么提示 null

这原因主要跟 Application 四大初始化事件有关,必须弄清楚这四个事件,才能搞明白为什么?

四大初始化事件:preinitialize,initialize,creationComplete,apllicationComplete

1. preinitialize 的分派

应用程序 application 已实例化,但此时还未创建任何相关的孩子组件(child component),但是此时 application可获取孩子数。

2. initialize 的分派

此时,创建了相应的孩子组件,但还未对这些子组件进行布局。

3. creationComplete 的分派

应用程序application完成全部实例化,并完成所有子组件的布局

4. apllicationComplete 的分派

上面三处事件的完成,表明application内部启动的整个进程完成,就把 Application实例加入舞台(stage),接下来便会通知SystemManager派发applicationComplete事件。此时,启动程序启动完成并准备运行。

所有 在 applicaiton 的 preinitialize,initialize,creationComplete 事件处理函数里面 获取 stage,这样肯定是null, 此时applicaiton实例还没有加入 stage,Application实例加入到舞台后,派发ApplicationComplete事件。所以,应该在ApplicationComplete 事件派发后获取 stage。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读