什么是jsfl?
如果說AS是用來在SWF運行時運行的腳本,而jsfl則是在Flash編輯環境下運行的腳本。在這里我不想用太多專業的術語打擊新手繼續學習的信心,我想先帶大家做一個非常簡單的實驗,實驗環境:操作系統(Win XP2),Flash開發環境(Flash 8 簡體中文版)。
1.首先把你的文件后綴名顯示出來:→工具→文件夾選項→查看→把“隱藏已知文件類型的擴展名”選項取消。
2.隨便在那里右鍵新建一個空的TXT文本文件。
3.打開Flash8,然后新建一個fla,這時候你會看到時間軸上已經自動產生一個圖層“圖層 1”。
4.在Flash中打開“歷史記錄”面板。
5.然后將時間軸“圖層 1”改名為“AS”,這時觀察“歷史記錄”面板,你會發現多了一條“層命名”。
6.然后右鍵點擊“層命名”,在彈出菜單中選擇“復制步驟”。
7.打開你的TXT文件,然后粘貼,這時你會看到TXT文件中出現一段代碼:fl.getDocumentDOM().getTimeline().setLayerProperty('name', 'AS');
8.保存你的TXT文件,并重命名為:“把圖層命名為AS.jsfl”。
9.將你的“把圖層命名為AS.jsfl”放到類似下面路徑的文件夾下:
C:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\zh_cn\Configuration\Commands
其中,Administrator是你的系統用戶名。
10.這時候點擊Flash主菜單欄中的“命令”,你會發現在“運行命令”的橫線下面多了一條“把圖層命名為AS.jsfl”的選項。
11.再新建一個fla,然后選擇“圖層 1”,并執行“命令”菜單中的“把圖層命名為AS.jsfl”,你會發現,“圖層1”被自動命名為“AS”了。
上面的實驗告訴我們什么?
相信大家已經能簡單的體會到jsfl的作用了,它可以通過一些jsfl腳本自動完成對應的Flash編輯操作。另外我們還應該了解到如下知識才算階段性畢業:
1.jsfl是一種腳本語言。
2.jsfl文件應該放在那里。
3.如何運行一個jsfl命令。
jsfl腳本只能從“歷史記錄”面板中生成么?
當然不是,“歷史記錄”面板所能生成的jsfl非常有限,要想實現復雜的功能,就必須自己手動寫Flash JavaScript代碼了。至于jsfl的官方專業解釋,大家可以去查看Flash 8幫助文檔中的《擴展 Flash》一書,書中還有jsfl的應用示例和程序字典,我就是看著這本書自己研究的。
jsfl到底有多強大?我們有必要學jsfl么?
jsfl多強大我還不能確切的告訴你,因為我也沒深入學習呢:但用過ASV5的朋友應該都知道,ASV5能把SWF中的所有元素都分離出來,并產生一個jsfl文件,然后運行這個jsfl文件就可以把那些分離出來的元素組合為一個fla源文件了,由此可見jsfl的強大能力了吧?至于有沒有必要深入學jsfl,那要看你的興趣和工作需要,火山目前的工作可能需要批量生產一些結構復雜卻類似的SWF,于是對火山來說,jsfl就比較重要了。
一個滿足火山日常開發習慣的綜合例子:
火山開發習慣:目前我在開始一個面向過程的項目之前,以下三個工作是必不可少的。
1.時間軸最上層建立“AS”層和“Label”層
2.AS” 層第一幀寫如下注釋:
//================系統設置================//
//——————變量初始化
//——————數組初始化
//——————對象初始化
//——————系統初始化
//——————界面初始化
//================功能邏輯================//
//================函數模塊================//
3.庫里建立三個文件夾:“0-image”,“1-sound”,“2-公用元件”。
好了,需求有了,我們就開始寫代碼吧,前面我們已經知道jsfl文件應該放的位置了,這次就直接在那里建立一個“火山習慣.jsfl”,然后寫下面的代碼:
//第一步:自動產生AS層和Label層
fl.getDocumentDOM().getTimeline().addNewLayer("AS");
fl.getDocumentDOM().getTimeline().addNewLayer("Label");
//第二步:在“AS”層第一幀上添加注釋
var layerIndex = fl.getDocumentDOM().getTimeline().findLayerIndex("AS");
fl.getDocumentDOM().getTimeline().layers[layerIndex].frames[0].actionScript = '//================系統設置================//\n//——————變量初始化\n//——————數組初始化\n//——————對象初始化\n//——————系統初始化\n//——————界面初始化\n//================功能邏輯================//\n//================函數模塊================//\n';
//第三步:在庫里自動創建文件夾
fl.getDocumentDOM().library.newFolder("0-image");
fl.getDocumentDOM().library.newFolder("1-sound");
fl.getDocumentDOM().library.newFolder("2-公用元件");
好了,就介紹到這里了,是不是讓你受益非淺呢?如果您有好的學習方法或技巧,請您發貼。我們相互學習相互進步。
文章來源于領測軟件測試網 http://www.kjueaiud.com/