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

[第五课]flash对象

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:网雨霏霏 您是第3739个浏览者

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
flashroad友情提示:
“点评”不是“回帖”!
本帖最后由 网雨霏霏 于 2018-7-21 22:40 编辑

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

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



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



先看看上图的最顶部,flash 对象 (fl),可理解为我们打开的那个flashIDE
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

迷彩不流泪
访问时间:2020-02-22 21:20
正义
访问时间:2020-02-09 03:14
flashroad
访问时间:2019-07-29 10:03
随风草
访问时间:2019-01-20 21:45
网雨霏霏
访问时间:2018-07-21 22:40

打赏

取消

感谢您的支持,我会继续努力的!

扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by 爱秀代码,分享从这里开始,精彩与您同在

点评
B Color Smilies

您还可以输入:个字符
X

X

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 这就得到库里的所有元件(返回的是所有元件的数组)
复制

您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

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. }
复制
此时,只输出影片剪辑元件的元件名。
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

fl.saveDocument()  保存文档的方法
还有得到当前打开文档的数组等等(参看官方文档)
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

获得 大怪兽卡 一张

卡片说明:网雨霏霏被风吹乱了秀发,花费了7金币请理发师整理了一个酷炫发型

卡片效果:-7

点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页