Skip to main content

Posts

Showing posts from August, 2007

AIR : BigHeadEditor v1.0

應用了前兩篇分享的原理,Erin 製作一個無聊的 Webcam 大頭貼編輯器程式來認識 AS3 與 AIR,有興趣的可以下載安裝玩玩...=P ﹝>>下載試玩 Beta2以後版本<<﹞ 安裝: 請事先安裝好 Adobe Integrated Runtime (AIR)主體 ,這樣以後只要點選 .air 檔案即可自動安裝。(只需要裝一次喔!) Edit: 10/01/2007 AIR Beta2 released,請記得更新 執行 BigHeadEditor.air 選擇你想要的安裝路徑,預設為:C:\Documents and Settings\使用者名稱\Local Settings\Application Data\BigHeadEditor 使用說明: 記得在選擇背景圖樣前連接上你的Webcam呦! 拍完照點選「SAVE?」選擇你要儲存的資料夾就可以看到美美的成品囉! 如何新增自訂的背景圖樣: 先利用影像處理軟體製作 240x180 pixels的透明背景.png or .gif圖檔。 將輸出的檔案存至 安裝路徑的"image"資料夾內即可。預設為:C:\Documents and Settings\使用者名稱\Local Settings\Application Data\BigHeadEditor\images 程式畫面:

AIR:Flash CS3 Professional Update

剛剛 Ticore 告知官方版 AIR for Flash CS3 update 今天release了,當然馬上跑去下載,更新完後發現了幾個不一樣的地方: 1. commands新增了兩個功能,一為AIR打包資訊設定,另外一個是打包工具 2. 新增檔案類型多了AIR 1.0 3. 測試檔案很簡單的只要直接test movie即可 XD 真是太方便了!

AS3組件在AIR中的怪異現象...

由於 Erin 很懶在CS中寫code new出AS3組件再放到stage上,常常手動拉出組件人工排版,結果在執行AIR模擬發現了一個怪異現象...輸出swf正常的,但是模擬AIR運行就會發生慘狀...以下是案發現場實況: 主畫面上有兩個frames,每個frame都放著一個button組件,frame1 button命名為"btn" //main timeline frame action btn.addEventListener(MouseEvent.CLICK, doClick); function doClick(e:MouseEvent) { gotoAndStop(2); } stop(); function doClick中的gotoAndStop(2)指的是main timeline,正常執行結果是按下btn後會跳到第二個frame,結果在AIR中會成這樣: 居然變成呼叫組件gotoAndStop(2)!!!....這種現象通用於有兩個frames以上的AS3組件...WHY???

AIR 載入特定資料夾圖檔

這只是一個簡單的應用,為的是接下來要結合前篇Webcam抓圖要作一個應用App。 一個子資料夾名稱為"imgs" 裡面有一堆可被Flash載入的圖檔,想要不分類的將imgs檔案夾內圖檔全部載入,這邊用到File類別的listDirectory()可以列出所有在指定資料夾內的物件。 package { import flash.display.*; import flash.net.URLRequest; import flash.filesystem.File; public class OpenDirTest extends Sprite { public function OpenDirTest() { var fd:File=new File("app-resource:/imgs"); var arr:Array=fd.listDirectory(); //取得資料 for (var i:int=0; i< arr.length; i++) { var lb:Loader=new Loader(); lb.load(new URLRequest("imgs/"+arr[i].name)); lb.x=Math.random()*300; lb.y=Math.random()*200; //亂數擺到畫面上 addChild(lb); } } } }

AIR 簡易Webcam抓圖測試

這篇其實是參考 qop's blog 的 AIR 存圖測試 變形而來,只是多加了Webcam去做抓圖的媒介,請先下載安裝 as3corelib ,它會以component的形式存在,使用時直接從component視窗拉出來後刪掉保留在library即可。 package { import flash.utils.ByteArray; import flash.media.Camera; import flash.media.Video; import flash.events.*; import flash.display.*; import com.adobe.images.JPGEncoder; import flash.filesystem.*; public class WebcamTest extends Sprite{ private var video:Video; public function WebcamTest() { stage.scaleMode = StageScaleMode.NO_SCALE; showVideo(); btn.addEventListener(MouseEvent.CLICK, doClick); } public function showVideo() { var camera:Camera = Camera.getCamera(); if (camera != null) { video = new Video(320,240); video.attachCamera(camera); video.x=40; video.y=20; addChild(video); } else { trace("You need a camera."); } } private function doClick(e:MouseEvent):void { var file:File = File.applicationResourceDirectory; var bd:BitmapData=new BitmapData(320,240, false, 0xff

AIR 的第一次接觸 by Flash CS3

嚴格說起來,用CS3來開發AIR App不是一件很明智的事情... 理由很簡單,就是CS3實在太難用了!!難搞的可拖曳就變半透明又愛黏來黏去的工作視窗;想當機也不通知一聲就莫名奇妙當掉;不知道為啥操作一下換個字型之類的程式就傻掉;編寫程式工具也沒有啥咪提示碼等等...但是,Flash CS3製作的swf打包出來的AIR檔size比Flex builder打包出來的小很多,為了這一點,只好硬著頭皮玩下去了... 開發環境:請參考 qop's blog 兩篇教學 (裡面還有很多篇AIR教學喔!) Create AIR Apps in Flash CS3 package a flash app as an AIR file (for windows) 如果沒意外的話,到這邊應該就可以開始使用CS3來開發AIR Apps嚕! Test in Apollo: 如果想要測試swf在AIR runtime執行的效果,請別太相信剛剛安裝的Commands / Test in Apollo 這個指令,常常是執行後dos視窗閃一下就不見了( 為啥不知道..請知道的告訴我,謝謝! ),所以最保險的測試方法是,執行 Commands / Test in Apollo 後,它會自動幫你生成幾個檔案,裡面有個 檔案名稱-app.xml,接下來,點選開始列 / 執行,直接打入 "cmd"開啟命令提示字元 (dos視窗 ) cd C:\air_b1_win_sdk_061107\bin adl "你的測試檔案路徑\檔案名稱-app.xml" 這樣測試就變的很方便嚕!

ExtendedKey.as in Flash CS3

當使用Flash CS3開發Flash lite2.x contents時,如果有操作Soft keys的語法而使用ExtendedKey.SOFT1 or ExtendedKey.SOFT2 ,在Test movie 就會發現Flash找不到ExtendedKey.as 而無法解譯成功, 最簡單的解決方法就是將Flash 8 內的ExtendedKey.as 複製到: C:\Documents and Settings\使用者名稱\Local Settings\Application Data\Adobe\Flash CS3\en\Configuration\Classes\FP7 即可! 或者直接copy下列語法另存新檔為ExtendedKey.as 存入上述位置: (其實只是傳入常數定義) //**************************************************************************** // ActionScript Standard Library (Mobile specific) // ExtendedKey object //**************************************************************************** intrinsic class ExtendedKey { static var SOFT1 :String = "soft1"; static var SOFT2 :String = "soft2"; static var SOFT3 :String = "soft3"; static var SOFT4 :String = "soft4"; static var SOFT5 :String = "soft5"; static var SOFT6 :String = "soft6"; static var SOFT7 :String = "soft7"; static var SOFT8 :String = "soft8&q

KUSO 極致的online game - 清廉战士

在 朱學恆的路西法地獄 看到了一篇超級Kuso的真實online game介紹,天ㄚ!對岸的「 清廉戰士 」是繼 魔獸之後又一online game會讓 Erin 想要去玩的,真的不能不讚嘆它的內容是多麼吸引人啊!剛剛試著去下載安裝,居然還出現「紧急公告 清廉战士自测试以来,得到广大网友热情支持,在线人数超过服务器及程序限制, 现正在进行硬软件升级改造,敬请广大网友期待! 」!!XD 真的等不及想要玩玩它啊!!