我最近在寻找将舞台渲染到文件的方法时发现了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
答案 0 :(得分:1)
不知道你是否舔过这个,但是我打了同样的事。喜欢图书馆,讨厌错误信息。
我从这里下载了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设置下);但我打赌你已经知道了。
也许有用,也许不是。