【问题标题】:Issue Using Flex SDK in Flash Professional (for as3corelib)在 Flash Professional 中使用 Flex SDK 的问题(对于 as3corelib)
【发布时间】:2013-06-10 15:27:08
【问题描述】:

我最近在寻找将舞台渲染到文件的方法时发现了 Mike Chambers 的 as3corelib。在我的 Flash Professional 中的 ActionScript 3.0 项目中运行良好(如果需要,请使用 CS6)。

我决定查看 Mike 的一些实用程序类,尤其是与日期相关的类。但是,他的 DateUtil 类导入 mx.formatters.DateBase,当我尝试使用其中一些方法时,我得到了很多(很多)“未定义属性 DateBase 的访问”。

我假设这是因为对 Flex SDK 的某些引用丢失或错误。我已将 $(FlexSDK)/frameworks/libs/flex.swc 添加到我项目的库路径中,但这无济于事。

我已经使用 Flash 多年,但这是我的第一个真正以代码为中心的项目,并且仍在通过艰苦的训练学习。不知道这里出了什么问题。想法?


来自 as3corelib 的示例

package com.adobe.utils
{
    import mx.formatters.DateBase;

    /**
    *   Class that contains static utility methods for manipulating and working
    *   with Dates.
    */  
    public class DateUtil
    {

        /**
        * Returns a date string formatted according to RFC822.
        */  
        public static function toRFC822(d:Date):String
        {
            var date:Number = d.getUTCDate();
            var hours:Number = d.getUTCHours();
            var minutes:Number = d.getUTCMinutes();
            var seconds:Number = d.getUTCSeconds();
            var sb:String = new String();
            sb += DateBase.dayNamesShort[d.getUTCDay()];
            sb += ", ";

...

行:

sb += DateBase.dayNamesShort[d.getUTCDay()];

...生成上述错误,类中的任何其他 DateBase 引用也是如此。同样,此代码直接来自最新的 as3corelib,位于 GitHub:https://github.com/mikechambers/as3corelib

【问题讨论】:

  • 在 Flash Pro 中使用 UI Flex 类会出现问题。我不希望 DateBase 有任何 UI 依赖项,但是如果不查看代码就很难说。您必须分享一些导致错误的代码行,以便我们帮助或为您指明方向。
  • Reboog,这些错误不在我的代码中,它们发生在 Chambers 的 as3corelib (github.com/mikechambers/as3corelib) 中,它被表示为 ActionScript 3.0 的通用库。在他的 DateUtil 类中,他导入了 mx.formatters.DateBase。但随后在他的静态方法中对 DateBase 的任何引用都会引发“访问未定义的属性 DateBase”错误。我希望这里有人熟悉这个库,因为它似乎被广泛使用,并且知道我缺少什么。
  • 您是否无法“分享一些导致错误的代码行”?你没有源代码吗?如果导入是唯一的问题,那么您是否将 Flex SWC 添加到项目的库路径中?
  • 参考原帖;路径中引用了 Flex SWC,是的。编辑原件以包含示例。

标签: actionscript-3 apache-flex


【解决方案1】:

不知道你有没有舔过这个,但我也碰到了同样的东西。喜欢图书馆,讨厌错误信息。

我从这里下载了 Flex SDK:

Adobe Flex SDK Download

然后,我将其解压缩到一个临时文件夹中。

然后,由于我不想让整个 flex 框架潜伏,我在 .fla 文件所在的目录中创建了一个 ./lib 目录。然后我从这里(在解压缩的文件结构中)移动了这些 swcs:

mv ~/Downloads/flex_sdk_4.6/frameworks/libs/framework.swc ./lib
mv ~/Downloads/flex_sdk_4.6/frameworks/libs/core.swc ./lib
mv ~/Downloads/flex_sdk_4.6/frameworks/libs/mx/mx.swc ./lib

不知道为什么这三个都是必需的,但它停止了编译器的抱怨(并使日期转换工作)。

您还需要将它们添加到 .fla 的库列表中(在 ActionScript 设置下);但我打赌你已经知道了。

也许有用,也许没有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    相关资源
    最近更新 更多