http://blog.csdn.net/smalloceanlxh/article/details/6326593
JSFL是在Flash编辑环境下使用的一种语言,使F lash编辑环境执行某些操作,比如选种某个对象,关闭某个已经打开的文档等等。JSFL包括一系列的顶级函数(top-level functions)和一个顶级对象(top-level Object),可以使用flash 或fl来引用这个对象。比如说要关闭所有在编辑环境下已经打开的文档,可以使用以下语句:
flash.closeAll();
fl.closeAll();
使用flash菜单中的Commandsàrun commands可以运行已经保存好的jsfl命令。
flash object包含了若干的child object,他们基本都是对Flash编辑环境下对象的引用。比如说,Document object是一个数组,他是对已经打开文档的引用,很明显一个数组元素对应一个打开的文档嘛。再比如说,componentsPanel object 引用了Flash的组件面板。但是要说一句的是,在所有的flash object属性中,documents属性是最重要的。
Documents属性中包含了一个数组与flash中已经打开的文档一一对应。当然documents object也包含有他自己的属性,用于表现绝大多数的文档内部的元素。所谓“表现”是指引用并控制的意思(我想)。所以一个文档的大部分内容是由documents对象的属性和child objects组成的。这里的child objects我认为是和属性同意的,因为要看站在哪个角度而已。
如果要引用第一个打开的文档,就可以使用这个语句:flash.documents[0]。flash.documents[0]指的就是当前会话中打开的第一个文档。当第一个文档关闭后,那么其他后面的文档就会自动往前推,原先的第二个文档就代替了原先第一个文档的位置。当然也可以使用一个特有的名字来获取文档引用,具体的做法是:fl.findDocumentIndex(nameOfDocument),使用flash.getDocumentDOM() 或 fl.getDocumentDOM()可以获得当前正在编辑的文档的引用。包含在文档中的对象都有他们自己的名字,最常见的就是库面板(Library),可以使用如下语句来获得libray引用:fl.getDocumentDOM().library,使用fl.getDocumentDOM().library.items
获得库中的项目列表,具体的某个项目可以使用下标来指定获得其引用:fl.getDocumentDOM().library.items[0]。也就是说library object包含在documents object中。
JSFL语句在有被选择的对象时,才会把语句的作用到指定对象。比如说,下面的语句把选择对象放大了两倍:fl.getDocumentDOM().scaleSelection(2, 2);所以在很多情况下,首先要使用JSFL指定一个对象,然后把JSFL语句作用到这个对象,一下语句把放置在Stage上的第一个对象放大了两倍。
var element =fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0];
if (element)
{
element.width = element.width*2;
element.height = element.height*2;
}
当然,JSFL也允许使用基本的流程控制,if,while,for什么的。应该都可以吧,呵呵,比较有意思。当然,在真正了解JSFL之前,必须了解Flash的文档结构(DOM Structure),关于DOM Structure 可以参看MM的帮助文档和相关手册。
本篇文章来源于 中国建站之家 原文链接:http://www.jz123.cn/Article/11/140/2005/2005081311202.html