記錄一下:
App Inventor學習記錄69,摩斯密碼APP,輸入文字,就可以產生摩斯密碼並發出聲音
APP運行畫面如下:
我們在文字輸入框中,輸入英文語句,按下開始轉換。
轉換後的摩斯密碼,就會出現。
.代表短音。
-代表長音。
按下發出聲音按鈕之後,就會根據”.”、”-“以及”&”這三個符號來發出聲音。
最下方也會隨著聲音,出現代表聲音的符號。
全部的畫面編排如下:
畫面編排的部份沒有太特別的地方,文字輸入盒用來填文字。
幾個標籤元件,用來顯示相關的符號用。
主要就是計時器元件,計時器元件的時間間隔設定為 500ms。
音效 1和音效 2的最小間隔也是設定成 500ms。
全部的程式碼如下:
第 1部份的程式碼說明:
螢幕初始化的時候:
把音效 1的來源,設定成 s.mp3這個檔案,這個是短音。
把音效 2的來源,設定成 l.mp3這個檔案,這個是長音。
第 2部份的程式碼說明:
建立一個叫英文字幕的變數,它的內容是一個清單,清單內容就是 A~Z的英文字母。
建立一個叫摩斯密碼對照表的變數,它的內容也是一個清單,清單內容則是 A~Z的英文的摩斯密碼。
這裡我做了一個對照表如下
建立一個叫轉出來的摩斯碼的變數,它的預設值是空白。
建立一個叫轉成大寫的字的變數,它的預設值也是空白。
第 3部份的程式碼說明:
當開始按鈕被按下的時候:
把轉成大寫的字這個變數的值,設定成文字輸入框的文字,全部轉成大寫後的文字。然後把轉成大寫的字這裡變數裡頭的值,每個字都提出來跟英文字母比對,情形如下。
假設我們輸入的是 sos這三個字。我們就會先把它轉成 SOS。
接著,把 SOS的第 1個字,去跟英文字母這個變數的值去比對。找到 S這個字母,位於英文字母這個表單的那一個項次,再把轉出來的摩斯密碼,設定成摩斯密碼對照表中找出來的 S項次。
這裡每一個字都做一次。再把轉換後的摩斯密碼的文字,設定成轉出來的摩斯密碼這個變數的值。
把開始轉換這個按鈕的啟用,設定為假。
第 4部份的程式碼說明:
這裡我們再新建一個變數,叫時間的值,它的預設值是 0。
當發出聲音按鈕被按下之後:
把計時器的啟用計時,設定為真。
當停止聲音按鈕被按下之後:
把計時器的啟用計時,設定為假。
第 5部份的程式碼說明:
當計時器作動的時候:
把時間的值這個變數的值,設定成每次加 1。
加入一個流程判斷式,如果時間的值大於轉出來的摩斯密碼這串文字的長度的時候。
把計時器的啟用計時,設定為假,來停止計時。
如果時間的值小於轉出來的摩斯密碼這串文字的長度的時候,我們再加入一個流程判斷。
如果轉出來的摩斯密碼的文字,等於”.“的時候,就呼叫音效 1播放。
如果轉出來的摩斯密碼的文字,等於”-“的時候,就呼叫音效 2播放。
把聲音搭配出現這個標籤的文字,設定成轉出來的摩斯密碼,取時間的值的值的長度。
第 6部份的程式碼說明:
當重新輸入按鈕被點選之後:
把轉出來的摩斯密碼這個變數的值,設定為空白。
把轉成大寫的字這個變數的值,設定成空白。
把轉出來的摩斯密碼這個變數的值,設定為空白。
把開始轉換這個按鈕的啟用,設定為真。
把時間的值這個變數的值,設定回 0。
把計時器的啟用計時,設定為假。
把轉換後的摩斯密碼這個標籤的文字,設定為空白。
把聲音搭配出現這個標籤的文字,設定為空白。
這種一個套一個的判斷式,說明起來,真的是太繞舌了。如果有說明不清楚的地方,請大家多多的擔待。東西不難,不熟的朋友花點時間就可以理解了。
這次的 aia檔的下載連結如下:
點我下載 NO_69_Morse_Code.aia
參考書籍如下:
手機應用程式設計超簡單 App Inventor 2零基礎入門班
TQC+ 創意App程式設計認證指南
TQC+創意App程式設計認證指南解題秘笈
手機應用程式設計超簡單:App Inventor 2初學特訓班
手機應用程式設計超簡單:App Inventor 2小專題特訓班
手機應用程式設計超簡單:App Inventor 2資料庫專題特訓班
之前介紹過的一些 appinventor的使用記錄,都整理在下面這個頁面上了。
APP INVENTOR學習記錄及資源整理頁面