從 FLASH 中繪製元件,並匯出 SWC 檔轉至 FLEX 當類別使用
寫 FLEX 的時候,常常會使用到圖檔,但是支援的檔案 JPG GIF 以及 PNG 都是點陣圖檔,這些圖檔在縮放的時候都會造成一定比例的失真,這時候我們需要使用 FLASH 繪製的向量圖檔,可是呢,如果要使用 SWF 檔案就必須要使用 SWFLOADER 了,如果這些圖案要做互動,那就挺麻煩了,要在 FLASH 內寫好呼叫事件,其實有更方便的做法。
其實,在 FLASH 中繪製元件並且轉 SWC 給 FLEX 使用還有很多好處,第一個當然是向量化的圖件,這點當然是必須使用,第二,可以使用 FLASH 中的九宮格定位法,但是使用上還有很多要注意的,第三點就是可以使用字定形狀或是自訂觸發區域的按鈕。
這邊就稍微試試看放大的效果,以及自訂觸發區域的按鈕吧。先來看看結果如何。
回歸正題,要將 FLASH 繪製的檔案給 FLEX 用,你必須依照以下的步驟進行
STEP 1 : 下載 FLEX 組件套件並安裝
可以參考這邊文章 使用 FLASH 和 FLEX ,我們先到官方下載
Flex Skin Design Extensions & Flex Component Kit for Flash CS3
必要下載的 FLEX SKIN DESIGN EXTENSION FOR FLASH 以及 FLEX COMPONENT KIT FOR FLASH CS3 PROFESSIONAL ,下載好請安裝。
主要的是 FCK 一定要安裝,不然無法匯出 UIMovieClip 類別
STEP 2 : 在 FLASH 中將元件轉為 FLEX 的可視元件
1. 將匯入的 AI 向量圖案轉成 movieClip ( 注意,請選擇影片,我拍照拍錯了 )
2. 將MOVIECLIP 轉換為 UIMovieClip
先選好要匯出的元件
看到那個小小 FX 圖案就可以了。
STEP 3 : 將 FLASH 發布成 SWC 元件檔
選擇檔案的發布設定
點選 FLASH ,並且將 會出 SWC 打勾
完成後,發佈,就會看到發佈後會多一個 SWC 檔案。
STEP 4 : 將 SWC 在 FLEX 中實作
將 SWC 放入 FLEX 專案的 LIB 資料夾中
接著就可以在 FLEX 輸入剛剛我們設定的類別
如此一來我們就大功告成了
其實,使用 FLASH 製作的元件還有很多好處,例如我範例中,使用了再 FLASH 製作的按鈕,另外在 FLEX 中製作偵聽事件,這樣子就可以製作奇形怪狀的按鈕了
朋友可以打開範例玩看看
另外補上原始碼
case0904.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="14" xmlns:local="*" creationComplete="aaa()"> <mx:Script> <![CDATA[ import mx.controls.Alert; private function aaa():void{ var a:SimpleButton = this.img2.getChildAt(1) as SimpleButton; a.addEventListener(MouseEvent.CLICK,bbb); } private function bbb(event:MouseEvent):void{ Alert.show("你點擊到 FLASH 內的按鈕囉"); } ]]> </mx:Script> <mx:HBox width="100%" horizontalAlign="center"> <mx:Image id="img1" source="img/case1.png" width="100" height="151"/> <local:CaseMC id="img2" width="100" height="151"/> </mx:HBox> <mx:ApplicationControlBar dock="true" horizontalAlign="center"> <mx:Button label="放大" click="this.img1.scaleX=3;this.img1.scaleY=3;this.img2.width=300;this.img2.height=453;"/> <mx:Button label="縮小" click="this.img1.scaleX=1;this.img1.scaleY=1;this.img2.width=100;this.img2.height=151;"/> </mx:ApplicationControlBar> </mx:Application> |
Random Posts
Loading…
相關文章 :
![showExample3[1] showExample3[1]](http://files.corausir.org/images/FLASHSWCFLEX_1010C/showExample31.jpg)









怎麼沒有拿我帥帥的照片來用。哈~~
你這篇算是廣告文嗎@@
呵,中間還亂入教不落的LOGO!
這是不小心手滑的嗎?
@scorpio
你的照片喔 = = 想太多了~
如果我拿你的照片來當按鈕的話
我的滑鼠應該會變成拳擊手套
@拆組達人
哈哈~~ 因為本來的圖片不見了 = =
所以就亂入一下
我也是看到一半突然發現…
咦!這是在幫阿湯哥的部落格打廣告嗎?XD
話說…
1. http://www.corausir.org/ 會自動轉向 http://blog.corausir.org/
但是 http://corausir.org/ 會出現主機商頁面,是不是要需要修改一下設定啊?
這個 Bug 很久了說…每次直接打 http://corausir.org/ 出來的畫面都會冏掉= =”
2. 阿默 & Yeh 組羊兩位大大的頁面已經放了一個多月了…
但是遲遲沒更新也沒有他們的著作出現,等很久了啊…
什麼時候可以看到他們出現呢?
@Mike
第一點是打廣告嗎~?^^ 也不是吧 因為那個 LOGO 是我們設計的阿~~
再來就是
話說 1. 這個部份我到是沒有發現啦 ^^ 我想說明字那麼難計 應該不會有人直接打才是..
我在連去 HM 設定一下
話說 2. 阿默最近 CASE 好多 = = 而且他好像還要出書,真的是快燒光了~,組羊也是處理一個比較麻煩的 CASE ,不過很多 FLEX 的資訊目前都是 組羊找出來的,只是由我代 PO ,至於出現的時間點,施主這個問題可能要在稍稍稍稍後~~ ^^” 真是不好意思啦
HELLO~
首先:這是一篇很好的教學
我因為一個問題苦找不到方法
好不容易看到您的教學
跟我想要的已經很接近了
不過還是差一點
所以發問一下
問題:
我有一個FLA 主要是動畫 (所有動畫都用AS寫成)
程式是main.as 在FLA中的document class有定義 main
所以FLA編譯成SWF後會自動執行main中定義的函數
另外我有一個用FLEX寫好的程式,主要是控制SWF裡面的參數
就是FLEX用一些UI,然後選好參數後丟到SWF裡面的程式去產生動畫
EX:
SWF是一個AS,畫圓圈,需要一個參數”半徑”
然後FLEX有一個文字輸入盒 給USER輸入半徑(radius)
然後一個按鈕 按下去後呼叫SWF裡面的 draw_circle(radius)
並在FLEX應用程式的指定區域顯示
所以我需要把SWF插入到FLEX中,然後想辦法呼叫SWF裡面的函數跟傳遞變數
我試過網路上找到的方法,利用SWFLoader
當我把我的程式寫在主影格內,這方法是OK的
但是如果是利用document class的時候,FLEX是呼叫不到SWF裡面的函數的
所以不知道您有沒有遇過這個問題
還是另有高手知道如何解決
請給小弟一點指引
我已經GOOGLE到不知道如何是好
感謝各位先進
Henry
@Henry
我之前也有使用過把 在 DOC CLASS 寫的程式
要在 FLEX 使用也有些許問題~
因此後來我就直接在 FLEX 裡面寫了 QQ
如果是用 AS 畫圈圈 可以在 FLEX 裡面畫阿 XD
ANYWAY 這部分因為我也沒用過
而我在看 FCK 的說明
他是說 AS 也會一起轉為 SWC 元件~ 不知道你是否成功 ?
請問一下
AdobeExtensionManager這個安裝完後,FlexComponentKit.mxp這個沒有辦法裝,副檔mxp點二下會開記事本,有哪邊設定錯嗎??
@kenshin
檢查一下 WINDOWS 的檔案連結是不是 MISS 了
因為只要有裝 CS3 OR CS4 都可以直接執行喔
不然就是開啟擴充管理員 直接選安裝那個 MXP 檔案
只想說聲謝謝! 你的部落格對我幫助很大~
因為你的部落格讓也我想開一篇教學的部落格。
@AoobtDs
說不上甚麼教學
不過就分享一些心得而已~
如果有開教學部落格記得也分享給我們知道一下呢 ^^
您好~
不好意思請問
我匯出SWC的按鈕檔案
在FLEX匯入都會跑位.或者動態不動
不知您是否有遇過相同情形?
謝謝您
@幫幫
有可能是選錯類型等等
會出 SWC 的部分還要多嘗試~~