在我们的项目中,我们有很多(数百个)由CS3中的艺术家创建的FLA文件,我们从中编译SWF以在我们的Flex/AS3应用程序中使用.
作为简化的构建/部署系统的一部分,能够自动发布所有这些FLA并理想地部署SWF将非常方便.我找到了一些使用JSFL从CS3进行批量发布的方法,但是很惊讶发现CS3显然没有任何命令行功能吗?
这是在Linux系统上的价值,我没有JSFL的经验,知道你是否可以以某种方式从命令行运行脚本?
注意:我应该说"Linux是首选的"...我不使用Linux但我们的服务器/构建PC是Linux ...我没有意识到CS3不兼容所以我想我们可以在Windows上做这个部分.
如何在jsfl中访问影片剪辑的子代(特别是子影片剪辑)?我已经在flash.documents [0] .timelines [0] .layers [0] .frames [0] .elements [0] .instance的实例级别.我找到了这个文档,但没有其他的.提前致谢.
版本flash cs5
好的,所以我知道重命名所有选定的库项目的通用代码
var items = fl.getDocumentDOM().library.getSelectedItems();
for (var i=0; i<items.length; i++){
var item = items[i];
item.name = "ABC_"+item.name;
}
Run Code Online (Sandbox Code Playgroud)
但如果库项目在文件夹中,这还不够好...因为item.name返回完整路径,但item.name设置名称.oO正如其他人在此指出的那样,http://forums.adobe.com/message/107718
我可能会编写某种类似的字符串解析器,
item.name ="ABC _"+ item.name.substr(item.name.lastIndexOf(" - "),99)
但这真的很难看,如果库项目已经包含" - ",那就行不通了.例如"Level-1"
所以我想我希望的是一种不同的方式来访问的名称,返回只是名称和不路径
是否有一个JSFL脚本来编译Flash IDE中所有打开的fla?
我使用 JSFL 作为在我的游戏中创建关卡的工具。生成大关卡需要相当多的时间,但没关系。问题是每 1-2 分钟执行一次停止,Adobe 会显示有关我的脚本需要很长时间才能完成的烦人消息。我必须坐下来一遍又一遍地单击“继续”,直到脚本完成它的实际工作。有没有办法禁用这个提示信息?
我正在用JSFL for Flash CS5编写一个脚本,我正在尝试从主时间轴上获取一个层列表.我正在获取时间轴,然后使用for ... in循环遍历它,但是我得到的对象似乎未定义.这是我制作的一些测试代码:
alert(fl.getDocumentDOM().getTimeline().layers[0].name); //Returns "text1"
for(layer in fl.getDocumentDOM().getTimeline().layers) {
alert(layer.name); //Returns "undefined"
}
Run Code Online (Sandbox Code Playgroud)
那么,JSFL不支持...... in?这有点奇怪,因为它似乎只是一个JavaScript引擎.