免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
Board logo

标题: [JSFL教程] [第五课]flash对象 [打印本页]

作者: 网雨霏霏    时间: 2018-7-21 22:38     标题: [第五课]flash对象

本帖最后由 网雨霏霏 于 2018-7-21 22:40 编辑

【版权】非原创,转自:
本帖隐藏的内容需要回复才可以浏览

为了方便阅读和使用,我对上文的大量细节进行了修改,包括一些错别字,还有一些代码中由于大小写拼错、漏掉了""符号所导致的代码不通过的bug



首先,打开第四课中自动生成的那个class1.fla文件【2】看看第四课内的结构图:



先看看上图的最顶部,flash 对象 (fl),可理解为我们打开的那个flashIDE
作者: 网雨霏霏    时间: 2018-7-21 22:38     标题: fl.openDocument(fileURI)方法

fl.openDocument(fileURI)该方法可以打开一个文档

参数fileURI 就是我们class1.fla文件的路径

如果方法成功执行,则返回最近打开的文档的 Document 对象(就是文档对象)。如果没有找到文件,或该文件不是有效的 FLA 文件,将报错并取消脚本。
  1. fl.openDocument("file:///F|/flash/flashroad/jsfl/fla/class1.fla")
复制
运行一下是不是打开了



上面说fl.openDocument("file:///F|/flash/flashroad/jsfl/fla/class1.fla")打开文档后会返回打开文档的 Document 对象. 如果你看懂了上图,你就知道,得到这个对象就能访问库,舞台上的东东,和一些窗口面板:
  1. var dom = fl.openDocument("file:///F|/flash/flashroad/jsfl/fla/class1.fla"); 我们得到这个文档对象后就可以得到其他的了
  2. var lib = dom.library   这就得到了当前打开文档的库(就是我们时常操作的哪个元件库)
  3. var items = lib.items 这就得到库里的所有元件(返回的是所有元件的数组)
复制


作者: 网雨霏霏    时间: 2018-7-21 22:39     标题: fl.getDocumentDOM()方法

我们发现,如果要打开一个flash文档,就需要写那么长、又不好辨认的路径,实在是麻烦的紧。其实,如果你已经在flashIDE内打开了某一个fla文件,那么,有更加简单的办法来操作当前的fla文件。



fl.getDocumentDOM()是取得当前打开的flash文档

我们用flashIDE新建一个class1-2.fla,里面加点素材.我们假装不知道class1-2.fla里有些什么.现在我们要在输出面板中打印出库里的影片元件名字(如果没有就输出没有影片剪辑)
  1. var myItems = fl.getDocumentDOM().library.items;
  2. for(i in myItems)
  3. {
  4. var fitem = myItems[i];
  5. fl.trace(fitem.name)
  6. }
复制
var myItems =fl.getDocumentDOM().library.items 得到了class1-2.fla库里的所有对象
var fitem = myItems得到了库中所有的对象的数组 (这里文件夹也是一个元件)
for(i in myItems)遍历这个对象数组
fl.trace(fitem.name)得到每个元件的名字并输出
fl.trace()是fl的一个方法,其效果和AS内的trace()是一样的。
运行一下是不是所有名字都出来了。


现在,我们在class1-2.fla,文件内新建一个影片剪辑元件(Ctrl+F8)我们如果要得到影片剪辑元件名字,就可以对item做一个类型判断:
  1. var myItems = fl.getDocumentDOM().library.items;
  2. for(i in myItems)
  3. {
  4. var fitem = myItems[i];
  5. if(fitem.itemType == "movie clip")
  6. fl.trace(fitem.name)
  7. }
复制
此时,只输出影片剪辑元件的元件名。
作者: 网雨霏霏    时间: 2018-7-21 22:39

fl.saveDocument()  保存文档的方法
还有得到当前打开文档的数组等等(参看官方文档)




欢迎光临 flash之路-flash技术交流 (http://flashroad.joinbbs.net/) Powered by Discuz! 7.2