2

我最近在寻找将舞台渲染到文件的方法时发现了 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

4

1 回答 1

1

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

我从这里下载了 Flex SDK:

Adobe Flex SDK 下载

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

然后,由于我不想让整个 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 设置下);但我打赌你已经知道了。

也许有用,也许没有。

于 2013-10-31T19:21:48.370 回答