I'm a mother of two precious kids and a professional programmer.
在flex裡,最強大的標籤應該就是[Bindable]的綁定標籤了 因為某次的需求,我需要研究將Bindable綁定至函數 也順便研究了ChangeWatcher和BindingUtils的使用 【BindingUtils】 官方的說明在此: http://help.adobe.com/zh_TW/FlashPlatform/reference/actionscript/3/mx/binding/utils/BindingUtils.html 這是Flex內綁定的工具,裡面有兩個屬性,一個是綁定到函數(bindSetter),另一個則是綁定到某物件的某屬性(bindProperty) 使用範例如下 1. 綁定到函數(bindSetter) 2. 綁定到某物件的某屬性(bindProperty) 【ChangeWatcher】 官方的說明在此: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/binding/utils/ChangeWatcher.html 因為此次我們要綁定的函數裡是有帶多個參數的,因此BindingUtils的bindSetter便無法使用 這時就需要使用BindingUtils所用的ChangeWatcher來自己做綁定的動作 ChangeWatcher的使用方式如下 根據官方文件watch的傳入的東西依序為”要綁定的物件”、”要綁定的屬性”、”要綁定的函數” 下面便是我根據這些所寫的小範例 MyBindingUtils.as 完整範例檔案可按此下載
補充:這個方法只可以在flash player的debugger版本可用, 因為在一般非debugger的player無法用”e.getStackTrace()”來抓取歷史資訊 再補充:非debugger的版本只需在flex的compiler arguments裡加上 這串參數,就會可以正確的取得”e.getStackTrace()”的值了! 如果我們在某個函數兩要知道有關傳進的參數的相關資訊 可以使用arguments去取得 下面網址有介紹arguments的使用方式 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/arguments.html 但是過去在as2裡,arguments可以用caller去知道呼叫此函數的地方 在as3裡,卻將此一屬性拿掉了。 那我們在as3裡該如何知道是誰呼叫了這個函數呢? 我在一個別人的部落格裡找到一個別人寫好的解法 是先丟出一個錯誤訊息,然後去getStackTrace(),再去解析之前呼叫者的資訊 原始部落格在此 Looking up the calling function 原始碼如下:
先用Math.atan2()去求得圓的弧度 用法是弧度 = Math.atan2(x,y) x與y指的是在坐標軸上形成三角型的那個點的x,y 然後再用弧度轉角度的公式去求出角度 //弧度轉角度 var arc:Number=1 //弧度 var angle=(arc*180)/Math.PI; //角度 //角度轉弧度 var angle:Number=30 //角度 var arc=angle/180*Math.PI; //弧度 另外Math.sin、Math.cos裡面要傳入的值,則是弧度 所以若我們要算sin60的值,需要這樣去代入 Math.sin(60*Math.PI/180); 那sin =…
在as3.0中有 FTE可針對文字去測量其寬度、高度等 針對個別的文字去做處理 相關官網的說明可見此 http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS6C0BB8ED-2805-467a-9C71-F9D757F33FB6.html ElementFormat是定義文字的相關屬性(字型、大小、顏色等等) 然後再new一個TextElement設定文字格式和文字內容 再將其放到一個TextBlock裡面 TextBlock裡面則有許多相關的操作函數 可以對個別的文字做旋轉、定位等等 http://livedocs.adobe.com/flex/3_cn/langref/flash/text/engine/TextBlock.html 詳細的手冊說明在上面 裡面的lineRotation將角度設為九十度(TextRotation.ROTATE_90)時 文字就會呈現傳統的中文直式書寫方式呈現 下面的是將文字改為直式文字的範例程式
這邊提供一些我看到的教學影片及連結 1.在Windows上一步步發佈的方式 http://support.brightcove.com/en/docs/step-step-guide-publishing-apple-app-store-using-windows 2. 使用Flex編出ipa的教學 http://tv.adobe.com/watch/adc-presents/build-ios-applications-using-flex-and-flash-builder-45/ 3. 怎麼在windows上產生.p12檔案 4. 在Flex裡安裝AIR SDK的方式 http://helpx.adobe.com/flash-builder/kb/error-run-debug-deploy-ios.html http://www.flashdeveloper.co/post/10985842021/overlay-adobe-air-32-in-flash-builder-46 其實最基本的可以就依照這篇文章去做一步步的發佈設定 如果不想太快買開發者身份 也可以到google 打上fake .p12 ,下載破解檔案 就可以直接做發佈的設定了! =================================== 另外也提供不使用flex去做發佈的方式 1.安裝 adobe AIR…
在flex裡內嵌文字有幾種方式 1. FLEX 動態更換中文字型 ( 非嵌入方式 ) 這個請參考下面這篇的教學 http://blog.corausir.org/programing/ausir-777 不過上面的方式 必須以PHP配合 並且空間要支援PHP的EXEC呼叫外部EXE檔的功能 許多空間伺服器並沒有支援這個功能 另外我在測試時也發現一個問題 就是當我要產生的文字過長(ex: 400~500字) 會發生讀取錯誤的問題 2. 直接內嵌字體 (1) 使用css (2)使用as3嵌入 直接嵌入文字會遇到一個很大的問題,就是文字太肥了, 這時,若我們只需要嵌入該字型檔的部份字型,而不需要全部嵌入 就可以設定unicodeRange…
在flex4裡面的spark組件的panel是沒有內建拖動的功能的 因此若我們希望這物件要可以被拖動 我們必須要去自己實做當使用者拖動topGroup的區塊時的拖動動作 範例程式碼如下:
Flex3 image.scaleContent = true; image.maintainAspectRatio = false; 設置了這兩項後就可以任意比例放縮圖片了。 Flex4 scaleMode=”stretch”
首先resize事件是針對該元件大小被縮放時才會產生 所以要在根元件去監聽resize的事件 很必需注意的一點,是flex4的spark元件預設會自動無視超出範圍大小的東西 因此會發現當我們把視窗縮小時, 因為超出的大小被無視了 無法偵聽到resize事件 這時候我們要在根容器上加上 clipAndEnableScrolling=”true”屬性 這個屬性主要是告訴我們要不要自動無視超出的範圍 group的預設值是false 也就是無視他 因此我們要先將 clipAndEnableScrolling設定為true 才可以偵聽到縮小視窗的事件
事前準備工作 1.[撰寫Ant編譯時所使用的XML檔] 依照原有的XML去設定自己的SDK的位置,並且寫入要載入的語言檔 2.[設定Ant環境] (a)Help->Software Updates更新flash builder的Ant編輯程式 (b)Windows->Show View->Other->Ant->Ant把視窗叫出來 (c)按Ant編譯視窗最左邊的Add Buildfiles,選擇剛剛寫的xml (d)RUN他 3.[設定要產出的flex專案檔的編譯locale參數] 如果是要中文+英文則為-locale en_US zh_TW,如果少了這個動作在變語言時會發生缺少核心語言CORE檔案的問題。 4. locale檔副檔名是.properties ==================================== 1. flex版本的實現及範例下載 http://www.nbilyk.com/flex-localization-example 2. 為flash builder安裝ant…
17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。