鍵盤與滑鼠
在 Scratch 的世界裡,除了動畫,更多的是設計許多互動性的遊戲或應用,因此鍵盤和滑鼠變成為不可或缺的「互動輸入端」,這篇文章會介紹在 Scratch 裡鍵盤和滑鼠的用法,以及一些常見的問題與注意事項。
快速導覽:
按下與放開鍵盤
Scratch 有兩種偵測按下鍵盤的方式,一種是使用「圓頂形」的積木,另外一種則是「偵測」類型的積木。
按下鍵盤的圓頂形積木,可以直接使用,如果連續按著鍵盤不放,執行程式的第一次與第二次之間會有 0.5 秒的間隔,之後每次都有 0.06~0.1 秒的時間間隔。
圓頂形積木雖然方便使用,但因為無法放在其他的積木裡,所以不適合比較複雜的程式,如果要處理進階的程式,可以將「偵測鍵盤」的積木,搭陪重複積木一同使用,下圖的例子,使用重複無限次積木,偵測空白鍵按下時,將變數 a 增加 1。
不過如果使用重複無限次積木,因為重複執行時間「非常短」,所以會發生「按一次鍵盤,卻執行了好幾次」的狀況,以剛剛的例子而言,可能會發生按一次鍵盤,a 的數值卻從 1 直接增加到 3 或 4 甚至更多的狀況,如果將程式換成下圖,會發現按一次鍵盤,竟然存了三萬多個項目到清單裡。
為了避免這種狀況發生,可以加入「等待直到按下鍵盤不成立」( 等待直到放開鍵盤 ) 的積木,確認放開鍵盤後,再次按下才會再次執行。
如果使用等待的積木,也可以做到按下鍵盤不斷執行程式的效果。
按下與放開滑鼠
Scratch 有兩種偵測按下滑鼠的方式,一種是使用「圓頂形」的積木,另外一種則是「偵測」類型的積木。
按下滑鼠的圓頂形積木,可以直接使用,但這個積木只能作用在「角色」,並針對「按下」做動作,下圖的例子,當滑鼠點擊貓咪時 ( 按下滑鼠的時候 ),貓咪就會旋轉。
圓頂形積木雖然方便使用,但因為無法放在其他的積木裡,所以不適合比較複雜的程式,如果要處理進階的程式,可以將「偵測滑鼠按下」的積木,搭陪重複積木一同使用,偵測滑鼠按下的積木,不限於是否點擊角色,而是只要在舞台的任何位置按下滑鼠,都會被偵測到。
下圖的例子,在舞台的任何地方按下滑鼠,貓咪都會旋轉。
上圖例子的執行過程中,會發現「每次按下滑鼠時,貓咪不只轉了 15 度」,因為重複積木執行時間「非常短」,所以會發生「按一次滑鼠,卻執行了好幾次」的狀況,為了處理這種狀況,可以加入「等待直到按下滑鼠不成立」( 等待直到放開滑鼠 ) 的積木,確認放開滑鼠後,再次按下才會再次執行。
「等待直到按下滑鼠不成立」積木的擺放位置,會影響後續程式執行的時間,下圖的例子,左邊會在放開滑鼠時,執行貓咪右轉的動作,右邊則是在按下滑鼠時,就執行貓咪右轉的動作。
如果要做到「點擊貓咪」的功能,可以額外加入「偵測碰到滑鼠」的積木,就能夠做到點擊貓咪,貓咪再旋轉的效果。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~