Jsfl学习
JSFL指Flash JavaScript,是JavaScript腳本文件,是用來擴展Flash IDE的重要工具。學會它、熟練使用它之后你會驚訝的發現,哇,原來可以這么高效率的做Flash啊!下面我們來看一看怎么使用JSFL:
? 不知道各位朋友有沒有使用過Flash IDE中的“歷史記錄面板”?如果沒有用過的話,趕緊Ctrl+F10調出來看一看吧,因為本文的內容將從它身上開始。
? 在Flash IDE中(本人使用Flash CS3 Professional)按下R鍵(矩形繪制工具的快捷鍵),在舞臺上拖動鼠標繪制出一個矩形。觀察“歷史記錄面板”,你會發現面板中添加了一個名為“矩形”的動作。選中“矩形”動作,“歷史記錄面板”右下角那個磁盤圖標按鈕將被激活,點擊該按鈕保存命令為“DrawRect”。 接下來,刪除剛剛在舞臺上繪制的那個矩形,然后選擇Flash菜單欄的 “命令”菜單,你會發現彈出菜單中多了一個名為“DrawRect”的選項,點擊“DrawRect”選項看看效果吧。
? 如果你以前從來沒接觸過JSFL,你肯定會疑問:“DrawRect”選項是怎么跑到“命令”菜單中去的?點擊它后舞臺上立即繪制出了一個矩形,這是什么原理?下面我們就來探索一下其中的奧秘。
? 打開C:\Documents and Settings\Brant\Local Settings\Application Data\Adobe\Flash CS3\zh_cn\Configuration\Commands (注意,Local Settings文件夾默認是隱藏的,你需要顯示隱藏文件才可以看到)。在這個文件夾中你會發現一個名為“DrawRect.jsfl”的文件,用文本編輯工具打開它(本人使用FlashDevelop或UtrlEdit打開),看看里面的內容,看不懂沒關系,先了解一下里面的代碼可以在舞臺上繪制一個矩形就OK,這個東西就是jsfl。接下來,你該在Flash IDE中按F1輸入“jsfl”查看一下相關幫助文檔了。首先看一下有關JSFL的作用說明,然后重點關注“擴展Flas -> 對象”里的內容,看得差不多了之后,在幫助里輸入“library” (或Document、Item、outputPanel等等詞匯),仔細認真的看一看“擴展Flas -> 對象”里的東西。不要驚訝“居然有如此多的內容!”。嗯,這部分知識點的內容的確挺多的,都是Flash IDE的JavaScript API,使用這些API可以實現Flash IDE環境中的所有動作。要完全研究透它,需要學習一下JavaScript,不過不用緊張,很簡單,因為JS跟AS基本上一樣,關鍵字、語法、結構都是統一遵循ECMA Script標準的,跟據AS習慣,你猜著寫也能寫出JS代碼來,學習曲線會比較平滑。好了,那些內容你自己慢慢研究吧,這里我就不等你看完,下面我將寫兩個簡單的例子來示范一下怎么使用JSFL:
【注】 下文中目錄C:\Documents and Settings\Brant\Local Settings\Application Data\Adobe\Flash CS3\zh_cn\Configuration\Commands統一簡稱為Commands
示例一、BitmapBatRename(給庫中的圖片批量命名):
第一步:新建一個文本文檔,粘貼如下代碼到文檔中,保存到Commands目錄下,保存名字為“BitmapBatRename.jsfl”。注意擴展名是jsfl而不是txt哦。
var doc = fl.getDocumentDOM();
var uxi = doc.xmlPanel(fl.configURI + "Commands/Rename.xml");
if(uxi.dismiss == "accept")
{
var items = doc.library.getSelectedItems();
for(var i = 0; i<items.length; i++)
{
items[i].name = uxi.prefixName + i;
}
}
第二步:新建一個文本文檔,粘貼如下代碼到文檔中,保存到Commands目錄下,保存名字為“Rename.xml”。注意擴展名是xml哦。
<?xml version="1.0" encoding="utf-8"?>
<dialog buttons="accept,cancel" title="Bat Rename Tool" >
<label value="請輸入名稱前綴"/>
<textbox id="prefixName"/>
</dialog>
第三步:新建一個Flash文檔,導入一組圖片到庫里,選中庫中的一張、幾張或者全部圖片,選擇“命令-> BitmapBatRename”,在彈出的對話框里輸入一個想要的名字,然后點擊確 定,看一看庫中的圖片的名字有什么變化。OK,示例一結束。
示例二,GetLibraryItemProperty(將庫中的元件的屬性輸出到輸出面板,并允許保存為xml):
第一步:新建一個文本文檔,粘貼如下代碼到文檔中,保存到Commands目錄下,保存名字為“GetLibraryItemProperty.jsfl”。
var doc = fl.getDocumentDOM();
var lib = doc.library;
var items = lib.items;
fl.outputPanel.clear();
fl.trace("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
fl.trace("<list>");
for(var i = 0; i < items.length; i++)
{
var type = items[i].itemType;
var name = items[i].name;
var className = items[i].linkageClassName;
fl.trace("??? <item type=" + "\"" + type + "\"" + " name=" + "\"" + name + "\""+ " className=" + "\"" + className + "\"" + "/>");
}
fl.trace("</list>");
var xui = doc.xmlPanel(fl.configURI + "Commands/saveOutputPanel.xml");
if(xui.dismiss == "accept")
{
fl.outputPanel.save(xui.url);
}
第二步:新建一個文本文檔,粘貼如下代碼到文檔中,保存到Commands目錄下,保存名字為“saveOutputPanel.xml”。
<dialog buttons="accept, cancel"? title="保存輸出面板信息" >
<hbox>
<label value="URL:" />
<textbox id = "url" size="30" multiline="false"/>
<buttons="accept, cancel"/>
<hbox>
</dialog>
第三步:新建一個Flash文檔,導入一組圖片到庫里,先給它們都取上名字,添加好導出Action類,然后選擇“命令-> GetLibraryItemProperty”。 在保存文件的對話框中填入文件 路徑,點擊保存之后在指定的路徑下就可以看到一個xml了, 它記錄了庫中所有元件的“元件類型”、“元件名稱”和“鏈接類名”。【注意】保存文件的時候填入的文件路徑的寫法哦:例 如,你想將生成的xml保存到F盤下的myxml文件夾中,保存的文件名為“list.xml”,則路徑如下填寫:file:///F|/myxml/list.xml。OK,示例二結束。
???????? JSFL功能很強大,更多功能請各位自己去慢慢探索,本文僅僅作為不懂的朋友入門之用。在學習JSFL的過程中有一個竅門——在IDE中隨意操作,保存歷史記錄,然后觀察生成的JSFL代碼來學習。
轉載于:https://www.cnblogs.com/atong/archive/2013/01/11/2856278.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: css做圆角
- 下一篇: MVC核心功能组件和简介