Flash JSFL:自动添加版本信息

Flash开发通常很小,很快速,于是大家通常懒得在源文件里面添加版本信息,但是有版本信息是很有用的,至少你可以通过版本号判断你正在测试的是否是最新版本(如果你经常做网站上的flash开发,你应该很能理解这种缓存带来的痛苦),在多人共同开发的情况下,如果每次修改都加上作者和修改时间的资料,也会对管理带来很大的方便。

但是如果要手工添加,恐怕很多人无法坚持,也常常忘记。。。大家都是改完直接Ctrl-Enter测试一下就交货了。

有没有办法保留你Ctrl-Enter的快捷,同时又能自动在代码上更新修改时间和版本记录呢?

有办法!用JSFL!
JSFL是什么想必不用多说了。
我做了一段JSFL脚本,让他自动在第一场景第一层的as中添加作者、时间、以及版本号自动增加的功能。
以下是代码

YourName="Frank Li (http://mianwo.blogspot.com)";
function changeVar(as,name,value,sep){
if(sep==undefined){
sep="=";
}
if(as.indexOf(name+sep)!=-1){
var s=as.indexOf(name+sep);
var e=as.indexOf(";",s);
var e2=as.indexOf("
",s);
if(e==-1){
  if(e2!=-1){
   e=e2;
  }else{
   e=as.length-1;
  }
}
var str=as.substring(s,e);
if(value=="++"){
  var ns=name+sep+(Number(str.split(sep)[1])+1);
}else{
  var ns=name+sep+value;
}
return as.split(str).join(ns);
}else{
if(value=="++"){
  value=1;
}
return name+sep+value+";
"+as;
}
}
var as=fl.getDocumentDOM().timelines[0].layers[0].frames[0].actionScript;
as=changeVar(as,"build_num","++");
as=changeVar(as,"build_time",new Date().getTime());
as=changeVar(as,"//Modified by "+YourName,new Date()," at ");
fl.getDocumentDOM().timelines[0].layers[0].frames[0].actionScript=as;
fl.saveDocument(fl.getDocumentDOM());
fl.getDocumentDOM().testMovie();

首先,在flash中新建一个jsfl文件,复制以上代码。

然后,修改第一行YourName变量中的内容,改成你自己的名字。

起一个适当的名字,例如Build Info.jsfl,保存在你的系统盘下面的

Documents and Settings<你的login id>Local SettingsApplication DataMacromedia<你的flash版本><语言>ConfigurationCommands

目录下

这样你的flash的command菜单下会多出一项,名称是你刚保存的jsfl的文件名。

点击这项菜单,你会看到flash开始执行test movie的操作。

然后去查看第一个场景的action,你会发现多出类似下面的内容:

//Modified by Frank Li (http://mianwo.blogspot.com) at Sat Mar 10 11:25:01 GMT+0800 2007;
build_time=1173497101406;
build_num=684;

第一行注释写明了作者以及修改时间
第二行是修改时间的数字格式
第三行是版本号,每次执行这段命令,版本号会自动加1。

还没有完,要让这段脚本完全融入你的日常操作中,你还需要修改一下快捷键设定

在flash的菜单中选择Edit -> Keyboard Shortcuts...
从默认设置复制一份setting
找到Control -> Test Movie
删除默认的Ctrl-Enter快捷键
然后到Commands -> [JSFL脚本的文件名]
设定快捷键Ctrl-Enter

这样就完成了

以后你每次Test Movie的时候,脚本会帮你写上作者、时间和增加版本号,很完美吧!哈哈~

点此下载以上脚本

回复

此内容将保密,不会被其他人看见。
  • 网页地址和电子邮件地址将会被自动转换为链接。
  • Allowed HTML tags: <img> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • 行和段被自动切分。
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

更多格式化选项信息

CAPTCHA
这个问题是为了测试你是否是真正的访问者以防止自动程序发布垃圾信息。
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.