在以往的Scratch實例中,我們通常只用到偵測模塊部分功能比如偵測方向鍵來完成小游戲,今天我們利用偵測模塊監(jiān)控鍵盤上的字母、數(shù)字等按鍵的輸入,完成一個監(jiān)測并記錄鍵盤輸入的小程序。
為了能做到偵測全鍵盤輸入,首先要對鍵盤上的按鍵進行分類并且整理成一個列表。按鍵種類可以分為四種:符號(。,:),數(shù)字(1234),字母(AaBb),特殊按鍵(enter,space)。
新建“鍵盤按鍵”列表,在列表中輸入英文字母、數(shù)字和字符。
字母有大小寫之分,為了節(jié)約代碼量,在列表中一個字母的大小寫保存在同一項中,在列表中的序號是1到26。
我們還需要新建變量進行保存和識別數(shù)據(jù)。“大小寫”用來記錄字母大寫或者小寫的狀態(tài),“輸入”用來保存每次按鍵輸入時的狀態(tài),“我的變量”用來保存輸出的結果。“保存文本”列表記錄通過鍵盤輸入的內容信息。
1. 程序初始化
根據(jù)程序的最終效果將一些角色隱藏,將變量設置為初始值。程序運行后,當用戶輸入大小寫字母或者是數(shù)字時,按下空格鍵后程序將用戶輸入的內容添加進“保存文本”列表中,并且清空其他內容恢復為初始狀態(tài)。
當點擊運行按鈕后,首先清除“保存文本”列表中的所有內容,將“大小寫”狀態(tài)設置為小寫,其他變量恢復成空狀態(tài)。切換大小寫可以通過上下鍵切換(圖1)。

2. 啟動監(jiān)控文本輸入積木
當按下任意鍵啟動按鈕識別。觸發(fā)“監(jiān)控鍵盤輸入文本”自定義積木。其中變量I用來做循環(huán)的序列號,不同的序列號對應著不同的字符以及數(shù)字,將鍵盤按鍵列表中的個數(shù)當作循環(huán)的次數(shù),當用戶按下鍵盤中的鍵后對應從列表中尋找指定的字符,如果成功從列表中找到了字符那么就輸出到面板上,如果查詢失敗,輸出為空。用戶可以通過對列表的序列進行匹配以確定內容所在的位置以及內容(圖2)。

3. 輸入大小寫字母
接下來我們要根據(jù)輸入的不同字符進行條件判斷。當需要輸入大寫字母時,從列表中提取對應項的第二個字符,小寫提取該項的第一個字符(圖3)。

4. 輸入數(shù)字
當用戶輸入數(shù)字,在列表中查詢數(shù)字對應的序號(27-36),查詢成功后直接輸出(圖4)。

5. 輸出字符記錄
用“我的變量”來臨時存儲輸入內容,將新輸入的字符連接在“我的變量”之后。全部輸入完成后只需要按下空格鍵,便將“我的變量”存入“保存文本”列表(圖5)。

目前的代碼只完成了輸入字母和數(shù)字。在實際的應用中我們還需要輸入其他種類的字符,如果輸入錯誤還需要用到退格鍵。那么該如何修改代碼呢?挑戰(zhàn)一下自己。