Skip to main content

Posts

[iPhone] Star Joker-Video Poker 上架囉!

Star Joker is a game of Video Poker. Joker is a wild card that can become any card in a poker hand. 又是一個 Erin 最愛拿來改版的賭場遊戲...因為簡單到不行的遊戲就不錄操作影片了...寫了很多版本有 Flash Lite1.1, Flash List 2.1 所以 iPhone 的版本也要來一次!!! 等待上架中...XD 如果沒啥變數,2月初應該可以看到了... 聽說 Apple 對 Free or Lite 版本的軟體審核很嚴格,所以乾脆將免費版本與正式版本分兩個獨立軟體來設計比較安全...正式版當然還沒寫完啊...XD *** Star Joker in App Store *** ~ Free App

[AS3] Data Binding in AS3 project

使用 Flex 開發過一陣子後,對於 [Bindable] 這個懶人 tag 有說不出的喜愛,然而在 Flash 中利用 Proxy 其實也可以達到相同的功用...但是 Flex SDK 免費擺在那邊不好好使用太對不起自己了... 在參考了 Ticore's Flex 2 Bindable Metadata Tag 背後實際作用 ( Ticore 萬歲!!),其實只需要將 Flex SDK frameworks/libs/framework.swc 包加到 Flash library 下,就可以使用 Flex 的 Binding 機制來達到綁定。前提是提供綁定的 host 屬性需要有 [Bindable] 才有作用,所以下面範例無法直接將 txt.text 與 txt1.text 綁定,需要透過 [Bindable] string:String 來做中介。 以下使用 FlashDevelop or Flex Builder 來編寫: package { import flash.display.Sprite; import flash.events.Event; import flash.text.TextField; import mx.binding.utils.BindingUtils; [SWF(width='400', height='300', backgroundColor='#ffffff', frameRate='30')] public class TestBindable extends Sprite { public var input:TextField; [Bindable] public var string:String = ""; public function TestBindable() { if( stage ){ init(); }else { addEventListener( Event.ADDED_TO_STAGE , init ); } } private function init(event:Event = null):void{ ...

[Flex] 3.4 SDK HttpService responder bug

Reference: http://twitter.com/sectore/status/3605078853 本篇用來筆記用, 在使用 Flex 3.4 SDK 的時候如果你有使用到 HttpService 利用 Responder 置入 result and fault function 時,你應該會發現 result 會被 call 兩次。 參考 Jens Krause「推」上的解法: public function callService():void { // call the service service=new HTTPService(); service.url=yourUrl; var token:AsyncToken=service.send(); token.addResponder(new Responder( result, fault)); //重點是這句 service.addEventListener( ResultEvent.RESULT , emptyResult ); } public function emptyResult(e:Event):void{} 這樣就可以解掉囉~~

經濟部水利署發表以 Adobe Flex Builder 建立的新系統

[水文水資源資料管理供應系統] 以下是其公關稿節錄: 讓水文水資源資料管理供應系統更加專業便捷 【2009 年 9 月 22 日,台北訊】全球軟體大廠奧多比今日宣布再添一 Adobe® Flash® 平台技術應用佳績!以提供技術服務、軟體工程、應用服務為主的地理資訊系統整合商銳俤科技,成功協助經濟部水利署「水文水資源資料管理供應系統」(http://gweb.wra.gov.tw/wrweb/) 的開發與升級,使其更具互動便利性。銳俤科技以 Adobe Flex® Builder™ 3 將現有複雜的水資源統計資料與空間數據轉化為可隨點即查的豐富型媒體系統,建立人性親和的系統介面。 ~ more... 裡面使用 Flex 製作的是「地理資訊」選項,用 Safari 4.0.3 + OSX 10.5.8 看的時候會有 Button 被遮蔽的問題等於是無法使用,這個 bug 是比較神奇一些...也蠻有可能是一開始的 UserProxy Error Response 導致...FireFox debug flash player 有捕捉到錯誤‧ 最近 Erin 的主力都是在做 Flex 相關開發,當然樂見在台灣有越來越多的使用案例上市!!Flex 加油! =)

[Flex] flexstore 的 find 功能補完

關於 Adobe flexstore 這個範例應該對學習過 Flex 的人是無人不知無人不曉,剛好有人問我如何將範例中的 Products / Find 功能補上,以下就是一個簡單改法: 1. 修改 samples.flexstore.ProductFilter.as 先加入一個公開屬性 searchText:String public var searchText:String; 補上 find function public function find(product:Product):Boolean { var str:RegExp=new RegExp(searchText, "i"); return (searchText == "") ? true : (str.test(String(product.name))) || (str.test(String(product.price))) || (str.test(String(product.series))) || (str.test(product.description)) || (str.test(product.highlight1)) || (str.test(product.highlight2)) || (str.test( "Tri-band" )) || (str.test("Camera")) || (str.test("Video")); } 2. 修改 ProductFilterPanel.mxml 加入 callFind event function private function callFind(event:Event):void{ var filter:ProductFilter = new ProductFilter(); filter.searchText = searchText.text; var e:ProductFilterEvent = new...

[AS3] pureMVC Utility - WidgetsConsole 1.0.0

Project Name: pureMVC Utility - WidgetsConsole Version: 1.0.0 Project Owner: Erin Lin Description: An utility is under pureMVC Multicore that has Flex only and AS3 two versions. Demo: WidgetsConsole Live Demo with source code Demo source code Download: WidgetsConsole Open Source Project Home pureMVC website: http://puremvc.org/ 沒想到我第一個 google code open source project 就獻給 pureMVC 了... 套用 pureMVC 到 Flex 專案第一個遇到的問題就是 view components 的控制,Flex 專案的 view 總類太多:有 Modules, UIComponent, external swf and pop-up view...etc. 整個專案作下來光 view 就可能換上幾十個頁面,先前分享了運用 StateMachine 來處理 view 的轉換,中大型專案作下來 code 的複雜度也是非常可觀。我在今年二月分享了 [Flex] pureMVC MultiCore with Modules 就開始著手將其概念包裝成 pureMVC 的工具包,使用到目前為止整個架構還是挺完善,所以在這邊與大家分享。 WdigetConsole 顧名思義是「 相同目的 views 組合 = Widget 」 的中央控制中心,將程式內加入 WidgetsConsole 的 widget 統一控管,最終只需要 sendNotification 就可以達到 view 的新增跟刪除(因為我是懶人工具的愛好者,懶人工具的定義就是以最低的限度達到所需要的效果,所以這個工具包的自由度很高!) 以下是簡單講解 WidgetsConsole 是什麼: Widget 的定義: View component(s) + WidgetMediator + WidgetCommand 實作的 WidgetCommand:...

[pureMVC] Flex app 開發的心得分享

使用 pureMVC 開發到現在,也遇到不少網友詢問相關問題,以下是 Erin 整理的幾個使用 pureMVC framework 開發 Flex app 的心得分享: 雖然 pureMVC Standard 版本就很夠用了,但是你的 app 有未知擴充需求的話還是建議使用 Mulitcore 版本以達最大的開發彈性。 先問問自己能不能理解架構內 Notification and Command 是什麼作用?如果答案是『NO』,請先熟悉 pureMVC 的架構再行考量是不是要實作...因為有太多問題都可以利用它們解決。 先搞清楚你將要開發的 app 流程,花點時間研究官網上的 pureMVC Utilities,一定有工具包可以解決你的需求。 除了 Application 外 view component 不應該持有任何跟 pureMVC 有關的 Class instance reference,請善用 Flex & Flash Event 機制與外部溝通。 別把 view component 直接對 view component 溝通的開發邏輯帶到架構內,如果你還是打算這樣作就根本不需要使用任何 framework 來幫助開發! View componet 溝通邏輯應該是 A-view component -> Event -> A-Mediator -> Notification -> Proxy, Command or B-Mediator -> B-view component。Event 機制在這邊有很大的作用,Mediator "儘量"不持有 view componet 子物件只接收其 Event ,不僅可以讓你跳脫如何用 A view 控制 B view 的思維...因為 A view 根本不需要去知道它發了 Event 後誰會被控制; 對 view component 新增修改也比較容易,ex. view component 由 Flex 3 改 Flex 4 版本(尤其 Flex 4 的架構改很大...你就會發現用 Event 的重要性...) Mediator 要 override onRegister and onRemove function,做人要有始有終,請記得 EventL...