I'm a mother of two precious kids and a professional programmer.
我的新書AI 職場超神助手:ChatGPT 與生成式 AI 一鍵搞定工作難題的教材投影片已製作完成
歡迎各位有需要的教師和博碩文化索取教材
在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…
Flex3 image.scaleContent = true; image.maintainAspectRatio = false; 設置了這兩項後就可以任意比例放縮圖片了。 Flex4 scaleMode=”stretch”
首先resize事件是針對該元件大小被縮放時才會產生 所以要在根元件去監聽resize的事件 很必需注意的一點,是flex4的spark元件預設會自動無視超出範圍大小的東西 因此會發現當我們把視窗縮小時, 因為超出的大小被無視了 無法偵聽到resize事件 這時候我們要在根容器上加上 clipAndEnableScrolling=”true”屬性 這個屬性主要是告訴我們要不要自動無視超出的範圍 group的預設值是false 也就是無視他 因此我們要先將 clipAndEnableScrolling設定為true 才可以偵聽到縮小視窗的事件
使用mx的label時常常最後莫名其妙的出現…然後要把滑鼠移過去才可以以tip方式顯示出完整內容 這時要使用truncateToFit=”false”去關閉他自動縮排的功能 <mx:Label truncateToFit=”false” id=”lblSawFlopTotal” text=”{status.average_loss}”/>
FLEX內的contains容器都會有一個屬性 creationPolicy可以控制其內容創建的時間 一般預設值都是auto 也就是當這個物件第一次被顯示時創建 這樣會有較好的使用者體驗 不過當我們有時使用viewStack 可能當我們在第一頁時 就必須指定第二或第三頁的label內容資料 那我們就必須把 creationPolicy設為all creationPolicy總共有四種可能值 1. <strong>all :</strong> 產生物件時便產生所有的內部元件(即使它還沒有被顯示) 2. <strong>auto:</strong> 被顯示在畫面上時才創建物件 3. <strong>none:</strong> 永不自動創建 當creationPolicy屬性的值為none時,應該明確地指定容器的長和寬。正常情況下,Flex會自動對容器進行比例縮放以使它能夠容納子實例,但因為creationPolicy屬性的值設為none,開始時沒有實例化容器內的子實例,要進行比例縮放是不可能的。如果你沒有明確地調整容器的大小,直到容器內的子實例被實例化後才會自動調整大小以容納子實例。要手動實例化組件,請使用createComponentsFromDescriptors()方法。 4. queued: 根據creationIndex的順序來產生內容物件…
17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。
如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!