相對flash來說flex的動畫功能還是比較弱的,flash的動畫基於幀、時間軸等概念,而flex的動畫則基於flex內部的特效,使用麻煩而且有時候還達不到想要的效果。筆者試過在flex中使用flash同樣的指令碼建立乙個跑馬燈動畫,居然能把程式卡死~
下面結合專案中的實際例子講一下flash和flex結合製作動畫的方法,在flash中製作一些動畫作為flex的元件,然後在flex中像普通元件一樣隨意使用。
首先描述下本功能,在程式中彈出乙個類似桌面歌詞的牌子,牌子裡滾動的顯示一些重要的業務資訊,點選某個資訊能在地圖中定位該資訊宿主的位置。
1.flash製作swc包
首先看一下它們之間的區別:
flex中的架構,(舉例uicomponent類的繼承關係)
uicomponent > flexsprite> sprite >displayobjectcontainer>interactiveobject >displayobject
flash中的架構(sprite類的繼承關係)
sprite >displayobjectcontainer>interactiveobject >displayobject
flex中的uimovieclip類繼承於uicomponent ,flash中的movieclip繼承於sprite,
flash中直接匯出swc,swc中的元件屬於movieclip,而在flex中不能在現實物件中直接新增沒有iuicomponent介面的類物件,所以不能使用.
我們通過adobe官方的外掛程式flex component kit 讓flash編譯器把movieclip轉換成uimovieclip。
在flash中製作好元件,然後右鍵點匯出swc檔案。
匯出成功之後再檢視該元件的屬性,可以看到這時該元件的基類已經變成了 mx.flash.uimovieclip
實際上,在我的例子裡只是做了乙個空的元件(作為顯示內容的容器),然後匯出swc檔案,為的是能用flash的框架來實現flex裡不容易而flash輕而易舉就能實現的動畫,看稍後的**部分就會明白~
2.flex中使用匯出的swc檔案
在flex工程中引用剛才生成的wsc檔案,下面直接貼**~~
<?xml version="1.0" encoding="utf-8"?>
" width="400" height="30" backgroundalpha="0" horizontalscrollpolicy="off" creationcomplete="init()" xmlns:local="*">
//初始化把顯示內容加入廣告容器
private function init():void
}private function onmouseover(e:mouseevent):void
private function onmouseout(e:mouseevent):void
private function onenterframe(e:event):void}}
//地圖定位操作
private function ondbclick(e:mouseevent):void
]]>
ad3 就是剛才匯出來的swc裡的元件
-->
在這裡,我們可以在flex中通過程式控制動畫的方向、速度、文字的顏色、大小等等 還可以用flex訪問資料庫更便捷的特點 從webservice或httpservice等獲取要顯示的內容。下面貼兩張圖~~
結語:或許通過flash直接做成乙個可訪問外部資料和可配置的swf動畫,然後在flex中使用更簡單,不過筆者在使用過程中總感覺flash對外部資料的操作總是感覺有些麻煩~ 應該是不熟悉flash的原因~
利用SandCastle製作類似MSDN的幫助
因為需要生成公司公用類庫的幫助文件,這幾天來,我一直在研究sandcastle,現在把我使用的心得說一下,權當記錄,留作以後查閱方便.在使用sh中有一些細節需要注意 1 使用sh之前需要確認已經安裝sandcastle和html help workshop 2 html help workshop的...
實現類似launcher的滑動桌面
這個例子中涉及到了以下幾個知識點 接下來說一下我實現的 思路 2 由於要實現隨手勢滑動,所以只要實現gesturedetector.ongesturelistener介面中的ondown onscroll 方法就可以 3 由於要接收觸屏事件,所以要實現ontouchevent 接下來我們來看一下 吧...
windows桌面製作notebook快捷方式
在cmd命令列中使用以下命令執行jupyter jupyter notebook 每次操作都要切入cmd再輸入命令,作為程式設計師,這樣是不是太繁瑣了 下邊我教大家在電腦上做個快捷圖示 1.在桌面上新建乙個 啟動notebook的 txt檔案,在修改字尾 notebook.bat 2.用notepa...