Mar 26, 2008

[AIR] NativeDragEvent


在 3 月 19 日於台北舉辦的 「Adobe 3.19 AIR 上市技術講座」中看到幾個外國 Adobe AIR 範例,其中有些運用到 NativeDragEvent (AIR only) 意指使用者可以"直接拖曳"外部檔案到 AIR 視窗做互動。以下是NativeDragEvent 簡單的用法:

Flash CS3 / AIR 1.0專案
Action in frame1
Stage中有個 TextField names "txt"

import flash.desktop.Clipboard;
import flash.desktop.ClipboardFormats;

stage.nativeWindow.alwaysInFront=true;

txt.addEventListener( NativeDragEvent.NATIVE_DRAG_OVER, doDragOver );

function doDragOver(e:NativeDragEvent):void {
var cd:Clipboard = e.clipboard as Clipboard;

if (cd.hasFormat( ClipboardFormats.TEXT_FORMAT ) ) {
var str:String = e.clipboard.getData( ClipboardFormats.TEXT_FORMAT ) as String;
txt.text = str;
//貼文字
} else {
var arr:Array = e.clipboard.getData( ClipboardFormats.FILE_LIST_FORMAT ) as Array;
txt.text = arr[0].nativePath;
//第一筆File路徑
}
}

Mar 11, 2008

[LEGO] 我的 NXT 會講話

要讓 NXT 講話其實非常的容易,只需要下載一個 WavToRso轉檔程式就可以,接著使用電腦中本來就有的錄音程式,這樣就可以讓 NXT 講話囉!

測試環境:Windows
  1. 下載並解壓 Wav2Rso.exe ,這是一個 Wav to rso的轉檔程式。如果要感謝作者的話,下載後記得點選網頁最下方的 google ads 。

  2. 插上麥克風,打開「音量控制」點選下拉式功能表的 選項 / 內容 選擇錄音,確定麥克風是打開的狀態:

  3. 開始 / 程式集 / 附屬應用程式 / 娛樂 / 錄音機,錄製你想要講的話。在這邊有個重點,由於 NXT 的 memory 很小,聲音檔要儘量精簡,但是人並不是完美的能錄製到聲音前面與後面都沒有空隙,所以在你錄好一段聲音檔後,要記得使用 編輯 / 刪除目前位置前面(後面)之內容,將空白的聲波部份裁切掉!這樣還可以省下好幾 Kb 喔!

  4. 打開 wav2rso.exe (Greenware,免安裝):

    • Dictory : 要輸出音檔的檔案夾位置

    • Select Files : 要轉檔的Wav

    • Convert: 轉檔鍵,記得轉檔是點選「Convert」而不是「OK」喔!

    • Resample: 轉檔壓縮比,一般選取 Sinc 96% 就很夠用了

    • Rate: 聲波取樣頻率 (Sampling Rate),越低檔案會越小,但是相對怪音會很多

  5. 將輸出的 .rso檔放到 :C:\Program Files\LEGO Software\LEGO MINDSTORMS Edu NXT\engine\Sounds 內就可以在 NXT-G 中選到它囉!

想要更完美音質的話,請參考其他錄音與音效編輯程式喔!

Mar 4, 2008

[AIR] 用 Flash CS3 開發AIR app

AIR (Adobe Integrate Runtime),簡單來講它是個視窗程式的平台,可以輕易地用網頁技術就可以製作視窗程式。使用者需要安裝 AIR runtime 在自己的電腦上,僅僅只要安裝一次,之後就等著升級就好。

製作 AIR app的方法很多, 你可以使用 Flex、Flash、Javascript、AJAX and HTML等等..Erin 本身是 Flash 的愛用者(CS3除外..冏,我恨它的黏黏視窗),所以當 Adobe AIR 上市後,第一個使用的工具還是 Flash(還是得用CS3...),完成以下幾個簡單步驟,你就可以開始開發 AIR app囉!
  1. 安裝 Adobe AIR runtime 1.0,如上述,僅需要安裝一次。

  2. 下載安裝 Adobe AIR update for Flash CS3 Professional

  3. 下載 Adobe AIR SDK (方便debug與快速執行),下載後解壓到 C 或 D 槽下即可


當你安裝了 Adobe AIR update for Flash CS3 Professional 會發現在 Flash的 Publish Setting分類中出現 「Adobe AIR 1.0」,沒錯,使用 Flash CS3開發 AIR app 就是這樣簡單!結束了沒?當然還有... 雖然在 Flash 中按 Ctrl+Enter可以直接測試製作中的 AIR app,但是有個很討人厭的地方就是...compile時間爆久、output window 沒反應!!雖然 Debug / Debug Movie 功能可以出現trace,但是輸出慢就很令人受不了,如果你開發的時候最愛設一些 trace也很愛按 Ctrl+Enter的話,到這邊一定會覺得冏掉了,不過別擔心,下載 SDK 的目的就是為了輔助它的不足。


使用 SDK:
開始列 / 執行 / 鍵入 "cmd" 會開啟命令提示字元視窗 (俗稱 DOS window)
如果你的 SDK是存在 C 槽就是直接打入:cd C:\AdobeAIRSDK\bin (常在用的話可以設環境變數喔!)
接下來要測試直接打入:adl "AIR輸出的xml檔案路徑" [Enter] 如下圖:

trace 文字就會直接出現在畫面內,這樣測試 + debug環境就完成了!
之後每次執行相同的adl指令,只需要按方向鍵上鍵,上一次鍵入的文字會出現在命名提示字元視窗內 (命名提示字元基本操作方法之ㄧ)

整個測試流程:
  1. Flash CS3 編輯 AIR 原始檔,按 Shift+F12 或 File/Publish (Properties / Setting)輸出SWF 與 XML (xml命名會以檔名+"-app.xml")

  2. 打開命令提示字元,依照上述方法將 xml 路徑鍵入,意思就是不在 Flash CS3 中使用 Ctrl+Enter來作測試而改用命令提示字元視窗,速度會比 Flash來的快!(抱歉本人沒耐心...XD)

  3. 重複步驟 1


打包 AIR app:
Flash CS3下拉式功能表:Commands / AIR-Application and Installer setting
製作數位簽章(Digital signature)時,記得勾選 Remember password for this session,這樣輸出 AIR 打包檔 .air 的時候就不需要一直輸入密碼。別忘了有使用的外部檔案,也要一倂加 Include files小視窗內喔!輸出設定視窗很容易上手,請花點時間研究一下!

EDIT 03/10 : 好心人提供的連結,有中文的 Flash CS3開發AIR說明喔!官方版的
適用於 Flash CS3 Professional 的 Adobe AIR 更新

Mar 3, 2008

[LEGO] NXT幫手君系列--今日運勢君與樂透君

三月一日在台北舉辦的AUG/MMUG網聚,在報到時間由今日運勢君擔任我的小助手供參加者檢測抽獎運勢...=P

[圖]今日運勢君
由於NXT-G的random非常簡陋,常常會出現相同的數字,所以幾乎都是凶系列,噗哈!今日運勢君果然是來打擊大家的 (迷之聲:幹的好啊!XD)
在會場太忙沒時間拍攝影片,只好回家補拍...



[圖]主宰大家拿不拿的到大獎的樂透君 (由 Brian拍攝)
樂透君的程式有特別針對不能重複出現相同的random數字處理,實際操作畫面請直接看下面影片:(連結自Maso's video)

[App] 國道計程收費速算器 2.0

之前的版本跟目前 國道計程官網 所列資料誤差很大,這支 App 也一直有人在使用,所以為了答謝愛用者只好做了一次大更新,因為對 CoronaSDK scrollView widget 有點怨言,所以 iOS 版本採用 Swift3 重寫了一遍,不過 Android 版本還是維...