FLASH CS3中的FLA形式组件制作教程
//應(yīng)該是CS3新增加的一種組件形態(tài),以制作一個MyButton組件為例子.
- 1、首先創(chuàng)建一空白的ActionScript3.0的flash文檔,然后保存文件命名為:"FLA_ComponentX".//名稱可以任意.
- 2、CTRL+F8,新建一空白剪輯,取名為"Avatar",進入編輯,第一真上我們畫一矩形框(Stroke style我們選擇"hairline",最細的線條),不用填充,一定要記得設(shè)置坐標為(0,0),位置固定的.
- 3、CTRL+F8,繼續(xù)新建個空白剪輯,取名為"NormalSkin",點開高級設(shè)置,把"導(dǎo)出ActionScript","導(dǎo)出到第一真"兩項打勾,class中填入"NormalSkin",最后把"啟動9-scale縮放的引導(dǎo)線"選項打勾,最后確定,進入編輯,畫一填充圓角矩形,設(shè)置顏色為灰色,擺放位置(0,0),可以拖動9-scale縮放的引導(dǎo)線,如圖對齊,作用是讓圓角矩形進行所放的時候保持四個定位的角不變形,這個矩形用來做按鈕的普通模式的皮膚.
- 4、CTRL+F8,繼續(xù)新建個空白剪輯,同上,取名為"OverSkin",點開高級設(shè)置,把"導(dǎo)出ActionScript","導(dǎo)出到第一真"兩項打勾,class中填入"OverSkin",最后把"啟動9-scale縮放的引導(dǎo)線"選項打勾,最后確定,進入輯,畫一填充圓角矩形,設(shè)置顏色為紅色,擺放位置(0,0),這個矩形用來做按鈕的鼠標經(jīng)過模式的皮膚.
- 5、CTRL+F8,新建個空白剪輯(這下我們建立的就是最終的按鈕組件,上面建立的都是這按鈕的組成部分),取名為"MyButton",點開高級設(shè)置,把"導(dǎo)出ActionScript","導(dǎo)出到第一真"兩項打勾,class中填入"MyButton",然后確定,進入編輯,第一層取名為"avatar",然后第一真上我們從庫中把"Avatar"元件拖放到場景中,放置到(0,0)位置,這一真的內(nèi)容在我們最后運行組件的時候是看不到的,作用主要是用來控制整個組件的寬高.然后我們新建立一層,取名"skins",在第二真上我們把庫中的"NormalSkin"和"OverSkin"組件拖進來,位置可以隨意擺放,這上面的元件是我們將來使用組件的時候,雙擊進入能夠進行設(shè)置的.
- 6、點中庫中的"MyButton"元件,右鍵菜單中選"Component Definition"(組件定義)選項,會進入一窗口,把類名填上"MyButton",再把"diaplay in Components panel"選項打上鉤,"Tool tiptext"中填入組件名稱,我這里填"MyButton".這里還有設(shè)置組件的preview(預(yù)覽)效果還有圖標等,其他內(nèi)容大家可根據(jù)需要自行設(shè)置.
- 7、到這步,我們會發(fā)現(xiàn)還缺少一個外部的自定義組件的代碼,也就是上面"MyButton"元件連接的"MyButton"類.由于類中導(dǎo)入了組件類,所以我們要設(shè)置FLASH CS3的classPath(類路徑),選編輯-->參數(shù)設(shè)置-->ActionScript-->ActionScript3.0,添加一新的類搜索路徑,我這里為"D:\Program Files\Adobe\Adobe Flash CS3\en\Configuration\Component Source\ActionScript 3.0\User Interface"
?
//大家根據(jù)各自情況來設(shè)置好路徑,新建ActionScript文檔,填入如下代碼:
package{
import flash.display.*;
import flash.events.*;
import flash.system.ApplicationDomain;
import fl.core.UIComponent;
public class MyButton extends UIComponent {
? private var nowSkin:MovieClip;
? private var thisDomain:ApplicationDomain;
? public function MyButton() {
?? super();
?? trace("MyButton");
? }
? override protected function draw():void {
?? if (nowSkin==null) {
??? thisDomain=loaderInfo.applicationDomain;
??? var classDef
??? try{
??? classDef=thisDomain.getDefinition(getNormalSkinName());}
??? catch(e:ReferenceError){
???? trace("沒有在庫中找到相關(guān)的類!")
???? return;
???? }
??? nowSkin=new classDef as MovieClip;
??? nowSkin.addEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
??? addChild(nowSkin);
?? }
?? nowSkin.width=width;
?? nowSkin.height=height;
? }
? protected function mouseOverHandler(e:MouseEvent):void{
?? trace("over");
?? removeChild(nowSkin);
?? var classDef=thisDomain.getDefinition(getOverSkinName());
?? nowSkin=new classDef as MovieClip;
?? addChild(nowSkin);
?? nowSkin.addEventListener(MouseEvent.MOUSE_OUT,mouseOutHandler);
?? draw();
? }
? protected function mouseOutHandler(e:MouseEvent):void{
?? trace("out");
?? removeChild(nowSkin);
?? var classDef=thisDomain.getDefinition(getNormalSkinName());
?? nowSkin=new classDef as MovieClip;
?? addChild(nowSkin);
?? nowSkin.addEventListener(MouseEvent.MOUSE_OVER,mouseOverHandler);
?? draw();
? }
? protected function getNormalSkinName():String {
?? return "NormalSkin";
? }
? protected function getOverSkinName():String {
?? return "OverSkin";
? }
}
}
/********************************************************/
代碼的作用對我們建立的按鈕組件進行一些設(shè)置,我這里只簡單設(shè)置了鼠標經(jīng)過和離開.接著保存,名為"MyButto.as",位于我們上面建立的"FLA_ComponentX.fla"同目錄下.
- 8、到這里其實還沒有結(jié)束,我們還需要制作一個"ComponentShim"的組件,這個組件的作用是把外部的自定義組件代碼編譯成一個影片剪輯.那怎么建立這個"ComponentShim"組件呢,很簡單,創(chuàng)建一空白的ActionScript3.0的flash文檔,CTRL+F8建立一空白剪輯,設(shè)置名稱為"MyButton",點開高級設(shè)置,把"導(dǎo)出ActionScript","導(dǎo)出到第一真"兩項打勾,class中填入"MyButton",CTRL+F8再建立一空白剪輯,設(shè)置名稱為"ComponentShim source",點開高級設(shè)置,把"導(dǎo)出ActionScript","導(dǎo)出到第一真"兩項打勾,class中填入"ComponentShim",確定,進入編輯,把庫中的"MyButton"元件拖放到場景中.然后點中庫中的"ComponentShim source"右鍵彈出菜單選"Convert to Compiled Clip"選項,這時候庫中就會生成一個"ComponentShim source"的組件,前面會有組件圖標,我們把這個組件的名稱改為"ComponentShim".
這樣"ComponentShim"組件就制作完成. - 9、切回"FLA_ComponentX.fla",繼續(xù)在"MyButton"元件的第2真上新建一層,取名為"ComponentShim",然后將剛才庫中的"ComponentShim"組件拖到這層的第2真上.
- 10、最后CTRL+S,保存,這樣fla形態(tài)的組件就制作完畢,關(guān)閉整個Flash軟件.
- 11、把"FLA_ComponentX.fla"文件復(fù)制到以下路徑:"D:\Program Files\Adobe\Adobe Flash CS3\en\Configuration\Components\"//這里大家也根據(jù)各自情況設(shè)置.
- 12、我們再次打開flash軟件,新建3.0空白文檔,選出組件選擇面板,會發(fā)現(xiàn)多了一個FLA_ComponentX組件包,點下會下劃出"MyButton"的組件,現(xiàn)在我們可把組件拖到場景上觀看效果.
/*********************************************************/
總算大功告成,發(fā)現(xiàn)做組件還真是麻煩.打字打得手麻了,不知道說明白了沒有,關(guān)于這部分有不清楚的可以跟帖咨詢.最后的"FLA_ComponentX.fla"文件提供下載,大家放置到上面說的路徑下看效果吧~
相關(guān)的圖片:
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/morrispan/archive/2010/10/20/1856232.html
總結(jié)
以上是生活随笔為你收集整理的FLASH CS3中的FLA形式组件制作教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7天普吉岛自由行
- 下一篇: for遍历和foreach遍历的一个细小