快訊!我的新書今天開始可以在天瓏網路書店預購啦!歡迎大家前往訂購!
>>>> AI 職場超神助手:ChatGPT 與生成式 AI 一鍵搞定工作難題 <<<<

Flex4

  • ,

    AIR記憶體監控工具 – Scout

    記憶體監控相關工具 Scout是一款針對用以監控記憶體狀態的程式,它不但可以監控電腦上面的swf的記憶體狀況,也可以監看使用air開發,運行在手機上的app的記憶體和gpu使用狀況。 在Scout之前,了解swf的記憶體使用狀況有幾個方式 內建的Profile功能 Profile可以監控現有的FLASH裡每一個CLASS占的記憶體比例,預設的設定會忽略AS內建的類別。如果要打開的話,可以選擇選單列裡的Window=>Preferences=>Flash Builder=>Profiler=>Exclusion Filter或是Inclusion Filters去排除或增加要觀察的class種類。 這個工具若是用按的方式執行,則只能針對FLEX本身的專案來做觀察。如果專案架構是外部的SWF檔案,則可以先切換到Profile工作模式(如圖:),然後選擇上方選單列的Profile=>Profile External Application=>New,去選擇要觀察的SWF檔案。 有關這個工具的介紹請見: Flex記憶體監控程式-Profile windows的工作管理員 監控執行緒的執行狀況,缺點是無法仔細的了解是那一個Class造成memory leak。 Hi-ReS-Stats  (https://github.com/mrdoob/Hi-ReS-Stats) 很常被見到的一個外掛程式碼,可以簡單的使用 來觀察FPS的運行速度、記憶體的使用狀況是否正常。嵌入後會在畫面上多出如下圖這樣的資訊欄位 Scout  (http://gaming.adobe.com/technologies/scout/) 最後就是今天要介紹的Adobe Scout工具,Adobe開發這個,主要是為了當開發者在使用Adobe AIR開發手機APP時,能夠更精準的掌握SWF運行的狀況以及GPU的狀況。因此Adobe官方便提供了這一項免費工具,讓APP開發者可以更仔細的監控效能的狀況。…

  • , ,

    AS3的事件傳遞機制(Event、dispatchEvent及addEventListener)

    當事件被發送出來之後。Event一般來説都會有一個Flow。 Flow分三個部分: Capture(捕獲階段) Targeting(目標階段) Bubbling(冒泡階段) 其關係圖如下:(來源為http://www.adobe.com/devnet/actionscript/articles/event_handling_as3.html) 值得一提的是,在FLASH裡,只有和UI相關的物件,會有上圖所示的目標及補獲階段的事件流, 一般像是Timer、Loader事件,是直接進入目標階段,並不會有上圖所示的事件流的流程。 在宣告Event時,也可以先指定事件是否要完整的跑完全部的流程。 宣告事件的語法及及參數意義如下: 參數說明(官方文件) type:String是要發送的事件的識別名稱EX:Event.COMPLETE bubbles:Boolean預設值是false,這個值是用來設定是否要有冒泡階段,如果傳false,代表他不會跑完全部的流程,只會從Capture到target階段就停止。 cancelable:Boolean預設值是false,這個值是用來設定是否這個事件可以被event.preventDefault();取消,如果設定為true的話,代表此事件是可以被取消的(稍候在dispatchEvent會更詳述這部份)。 常用的可以取消的事件有(cancelable為true):   FocusEvent.MOUSE_FOCUS_CHANGE、FocusEvent.KEY_FOCUS_CHANGE、TextEvent.TEXT_INPUT。 而發送事件則是用這一段程式碼: 在發送事件時,要注意,假使今天我們是在STAGE裡面有一個box物件,那當我們用box.dispatchEvent(event); 即使事件是用box發送的,事件還是會從stage > root > box這樣跑。(請見上圖) 假如在建立Event時,bubbles設為true,那在上圖跑的流程為stage >…

  • ,

    Flex裡綁定(Bindable)相關函數及使用方式

    在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 完整範例檔案可按此下載

  • , ,

    AS3.0中製作直式書寫的方式

    在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)時 文字就會呈現傳統的中文直式書寫方式呈現 下面的是將文字改為直式文字的範例程式

  • 在flex4裡用spark建置可拖動panel

    在flex4裡面的spark組件的panel是沒有內建拖動的功能的 因此若我們希望這物件要可以被拖動 我們必須要去自己實做當使用者拖動topGroup的區塊時的拖動動作 範例程式碼如下:

  • ,

    FLEX不等比縮放圖片

    Flex3 image.scaleContent = true; image.maintainAspectRatio = false; 設置了這兩項後就可以任意比例放縮圖片了。 Flex4 scaleMode=”stretch”

  • ,

    如何在flex4裡自製resize事件

    首先resize事件是針對該元件大小被縮放時才會產生 所以要在根元件去監聽resize的事件 很必需注意的一點,是flex4的spark元件預設會自動無視超出範圍大小的東西 因此會發現當我們把視窗縮小時, 因為超出的大小被無視了 無法偵聽到resize事件 這時候我們要在根容器上加上 clipAndEnableScrolling=”true”屬性 這個屬性主要是告訴我們要不要自動無視超出的範圍 group的預設值是false 也就是無視他 因此我們要先將 clipAndEnableScrolling設定為true 才可以偵聽到縮小視窗的事件

  • , , ,

    ResourceManager動態載入多國語系的實現

    事前準備工作 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…

  • , ,

    把 Flex SDK 4 整合進 Flex Builder 3

    轉載自http://blog.macroviz.com/archives/539   Flex SDK 4 已經出來了,可惜還沒有 Flex Builder 4。不過沒關係,看到國外有些人把 Flex SDK 4 整合進去 Flex Builder 3,照樣可以視覺化開發應用程式。以下,野部就詳列操作步驟: 一、下載 Flex SDK 4:http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4Adobe Flex SDK (ZIP  82MB) 二、確認…


17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。

如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!