Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 有没有办法在Flash AS3电影中嵌入编译时动态时间戳?_Actionscript 3_Flash_Compile Time Constant - Fatal编程技术网

Actionscript 3 有没有办法在Flash AS3电影中嵌入编译时动态时间戳?

Actionscript 3 有没有办法在Flash AS3电影中嵌入编译时动态时间戳?,actionscript-3,flash,compile-time-constant,Actionscript 3,Flash,Compile Time Constant,背景:我手动更新Flash文档中的版本时间戳,它在运行时显示在应用程序的登录屏幕上。这有助于我验证是否在浏览器中加载了最新版本,而不是某些缓存版本 变量的声明为: public static var version:String = "v 2012.11.14.1854"; //yyyy.mm.dd.hhmm 在flashide中编译文档时,是否有方法将此值自动更新为当前系统时间?也许可以使用某种“编译时变量”。a)您可以创建要构建的ANT任务,并在那里设置变量,但如果您单独开发,而不使用SV

背景:我手动更新Flash文档中的版本时间戳,它在运行时显示在应用程序的登录屏幕上。这有助于我验证是否在浏览器中加载了最新版本,而不是某些缓存版本

变量的声明为:

public static var version:String = "v 2012.11.14.1854"; //yyyy.mm.dd.hhmm
在flashide中编译文档时,是否有方法将此值自动更新为当前系统时间?也许可以使用某种“编译时变量”。

a)您可以创建要构建的ANT任务,并在那里设置变量,但如果您单独开发,而不使用SVN或Performance,这是一个相当复杂的解决方案

b) 我不确定它是否能工作,但使用其他编译器参数(项目属性>Actionscript编译器)


这将在生成的SWF文件中设置元数据。我不确定如何访问它,我还没有测试过它。

我见过读取SWF字节并提取编译时的解决方案,但这涉及到从SWF\u SERIALNUMBER结构中读取,该结构仅在Flex编译的SWF中存在。我从来没有使用过JSFLAPI,但我知道它可以打开和读/写项目文件,所以也许我可以让它在我的主文件中重新写入时间戳,尽管我更希望有一个解决方案,它不需要在我的项目中保存对实际类文件的如此精确的修改。正如我提到的,某种类型的“编译时变量”将是完美的。我看到的另一件事是FlashDevelop自动定义一个设置为当前日期的CONFIG::timeStamp编译器常量,但它不包括时间,并且您无法将其配置为包括时间,因此它是无用的。您想在类中更改它吗?我认为JSFL可能是一个不错的选择,因为它可以在发布之前做一些工作,然后发布您的文件,例如打开文件(您的类),搜索版本,替换为从日期对象收集的新值,保存文件,打开fla,然后发布它。除非您找到一个已经定义的编译时常量(如时间戳,但带有实际时间信息)我认为你做不到这一点。我们使用maven进行了类似的编译,因为编写了一个版本插件,可以很容易地获取时间戳和构建用户,并将它们写入XML文件,然后由服务代码读取“getVersion”调用,以验证所有部署正确。如果您已经让maven参与到构建过程中,那么您可能也可以在这里这样做,如果不是的话,那么就这个问题而言,可能需要承担很多工作“v yyyy.mm.dd.hhmm”,而不是FlashDevelop包含的无用的“yyy/mm/dd”“。我只是想省去每次编译时手动设置的麻烦。我宁愿编译,部署到服务器,测试,并看到它刚刚编译,而不是看到我忘记了更新时间戳,lol,不得不再次编译,部署,测试。
-date text