今天晚上好冷,写一篇JSFL的东西来取暖

今天晚上好冷,写一篇JSFL的东西来取暖,我也是刚入门,这里的东西也是根据MM的 文档翻译的,有兴趣的同学,可以看看~

JSFL概述

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的帮助文档和相关手册。

你可能感兴趣的:(Flash,RIA)