【问题标题】:Flash, actionscript, flex, add mx.controls.* component to flash.display.SpriteFlash、actionscript、flex,将 mx.controls.* 组件添加到 flash.display.Sprite
【发布时间】:2013-04-10 14:06:26
【问题描述】:

我正在处理我的项目,需要在闪存中创建温度计组件(组件将显示当前温度值)。所以我决定使用 Sprite (flash.display.Sprite) 组件作为包装器并创建这些子组件:

  • flash.display.Bitmap、BitmapData - 背景、温度计图像
  • flash.text.TextField - 文本(带单位的当前温度值)
  • flash.display.Shape - 温度计条

接下来我需要添加一些闪烁的文本(缺失值),最好使用mx.contols.Label(或火花标签)组件(支持 AnimateColor)。但是当我将新的标签组件添加到包装器时,添加的标签不会显示。所以我想知道是否可以在Sprite中添加mx.controls.*组件或者推荐什么解决方案。

【问题讨论】:

    标签: flash apache-flex sprite flex-mx


    【解决方案1】:

    mx 组件必须在 Flex 框架的上下文中使用。如果您将 Flex 组件添加到非 Flex 容器(例如 Sprite),那么您正在使用 Flex 上下文之外的组件,而 Flex 框架类(例如 LayoutManager)将不知道调用此类方法作为 measure()、createChildren()、updateDisplayList() 或 commitProperties()。

    如果这是您想要做的;那么没有出现的原因是因为组件没有通过它Flex Component LifeCycle;因此没有任何东西可以显示。

    如果您在 Flash Pro 中构建某些东西,或者在 Flash Builder 中使用仅 ActionScript 的项目,那么您可能没有使用 Flex 框架,我不希望该组件能够正常工作。但是,如果是这种情况,我希望您会看到由于缺少依赖项而导致的编译错误。

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 2014-10-04
      • 2011-07-03
      • 2011-03-06
      • 2012-07-27
      • 1970-01-01
      相关资源
      最近更新 更多