繁體
|
簡體
Sclub交友聊天~加入聊天室當版主
(檢舉)
分享
新浪微博
QQ空间
人人网
腾讯微博
Facebook
Google+
Plurk
Twitter
Line
标题:
[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 文件,将报错并取消脚本。
fl.openDocument("file:///F|/flash/flashroad/jsfl/fla/class1.fla")
复制
运行一下是不是打开了
上面说
fl.openDocument("file:///F|/flash/flashroad/jsfl/fla/class1.fla")
打开文档后会返回打开文档的 Document 对象. 如果你看懂了上图,你就知道,得到这个对象就能访问库,舞台上的东东,和一些窗口面板:
var dom = fl.openDocument("file:///F|/flash/flashroad/jsfl/fla/class1.fla"); 我们得到这个文档对象后就可以得到其他的了
var lib = dom.library 这就得到了当前打开文档的库(就是我们时常操作的哪个元件库)
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
里有些什么.现在我们要在输出面板中打印出库里的影片元件名字(如果没有就输出没有影片剪辑)
var myItems = fl.getDocumentDOM().library.items;
for(i in myItems)
{
var fitem = myItems[i];
fl.trace(fitem.name)
}
复制
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做一个类型判断:
var myItems = fl.getDocumentDOM().library.items;
for(i in myItems)
{
var fitem = myItems[i];
if(fitem.itemType == "movie clip")
fl.trace(fitem.name)
}
复制
此时,只输出影片剪辑元件的元件名。
作者:
网雨霏霏
时间:
2018-7-21 22:39
fl.saveDocument() 保存文档的方法
还有得到当前打开文档的数组等等(参看官方文档)
欢迎光临 flash之路-flash技术交流 (http://flashroad.joinbbs.net/)
Powered by Discuz! 7.2