【问题标题】:Understand Flex Application and Frames了解 Flex 应用程序和框架
【发布时间】:2009-12-14 22:53:11
【问题描述】:

出于好奇,我试图了解 Flex 应用程序使用的生命周期。

所以,我对这个论点做了一些研究; FlashPlayer 中使用的两个关键概念是:

  • SWF框架:是包含图形代码和as代码的逻辑单元
  • Flash Player Frame:Flash运行时更新屏幕的时间间隔,由frameRate属性定义

如果是这样,你能解释一下这两个概念之间的关系吗?特别是,它们是否配对在一起?

主要规则是:Flash Player 在 swf 中流式传输;在读取完整的 SWF 帧之前,Flash Player 无法呈现它。

我将尝试解释我需要理解的内容。为简单起见,假设您有一个两帧应用程序:SWF FR 1 和 SWF FR 2。

通常(例如在 CS4 中)框架被视为一个逻辑单元(由 ShowFrame 标记分隔),您可以在其中附加 as3 代码。我认为这是 swf 文件的简化版本:

  • Header // 这里定义了 frameRate
  • 符号、类等… // 这是 FR1 === ShowFrame ===
  • 符号、类等… // 这是 FR2 === ShowFrame === 结束

如果您有两个帧,FR1 和 FR2,Flash 开始执行 FR1 并转到下一个 (FR2)。如果您不停止执行,播放器将通过无限循环执行并渲染包含在 FR1 和 FR2 中的代码。相反,当您停止执行时,例如在 FR2 中,flash 播放器会循环执行 FR2 中包含的代码。

那么,Flash Player 帧是否可以在每个 SWF 帧中出现多次?

FR1 正在下载时(FR1 未完全加载)是否有任何 enterFrame 事件?第一个 frameEvent 是否在 FR1 完全加载时发生? FR1 在什么时间段内渲染? 另一种情况,如果您已将停止命令调用到 FR1 中,您将以您指定的速率获得 enterFrame(当前帧为 FR1)。同时FR2正在下载。完成后,您转到下一帧 (FR2)。 FR2 在什么时间段内渲染? Flash Player 是否尝试将 FR2 渲染到其下一个时间间隔?

考虑这个简单的序列:

  1. FR1 正在下载
  2. FR1 已完全下载
  3. FR1调用stop()方法,同时FR2正在下载
  4. FR2 已完全下载
  5. 转到 FR2
  6. FR2 调用 stop() 方法
  7. 等等

当 Flash Player enterFrame 事件发生时,您能帮我强调一下吗?

感谢您的宝贵时间。最好的问候,Flex_Addicted。

【问题讨论】:

    标签: apache-flex frame lifecycle frame-rate


    【解决方案1】:

    虽然看起来您确实一直在调查事情,但您的一些假设是不正确的。 Flex 是编写到一个漂亮框架中的 Flash 代码。所以一切都归结为帧,这些帧是代码执行和代码执行结果、渲染的混合体。当所有需要的代码都执行完毕并且渲染过程完成后,这一帧就完成了,flash 播放器将继续下一帧。

    那么你的 enterFrame 就会被调用。

    现在,作为 Flex 开发人员,监听 enterFrame 事件并不常见。

    要了解 Flex 应用程序,您只需将它们视为 Flash 应用程序,第一帧是加载帧,第二帧是应用程序。构成其余所有帧的是子部分及其各自的时间线。这个概念肯定会让人们感到困惑,因为他们认为 enterFrame 应该只被调用两次,事实并非如此。

    许多人的下一个错误假设是,仅仅因为“没有代码正在执行”,帧仍然没有被调用。情况也并非如此。仅仅因为某些东西没有改变并不意味着帧没有被调用,并且 - 没有适当的检查 - 大量的处理不会发生。

    HTH

    【讨论】:

    • 感谢您的回复 jonbcampos!!!你能更详细地解释这些概念吗?框架是什么意思?我真的很感兴趣,我会理解你所描述的这种机制。再次感谢你。最好的问候和新年快乐
    • 如果您查看过 Flash 开发环境,那么一帧就是时间轴上的一个点。最后一切都只是一部大电影。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2015-04-27
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    相关资源
    最近更新 更多