資訊內(nèi)容
Scratch第十三講:按鍵的技巧
檢測按鍵事件好像非常容易的,因為有一個事件命令就叫當(dāng)按下...鍵。

這個命令就可以檢測多所有的按鍵。平常我們就經(jīng)常用到這個命令,比如用上下左右鍵來調(diào)整角色的方向,用空格鍵操作一些角色的動作,如發(fā)射子彈,跳起來等。
但是我們會碰到另一種按鍵的情形,就是持續(xù)按下,或者說長時間按下空格鍵,會出現(xiàn)什么情況。我們試一下。


發(fā)現(xiàn)沒有,在按著空格鍵不動的時候,小貓走了10步后先停頓了一下,然后才會連續(xù)運動。而不是一直連續(xù)運動。
這是什么情況呢?CC哥覺得這應(yīng)該Scratch的設(shè)計者在做這個命令的時候,在程序里增加了抗干擾的代碼。一般來說,按鍵操作每個人都不一樣,有的人按的很快,有的人對鍵盤不熟悉,按的很慢,那么程序要判斷你是按了幾次呢?所以這里面就有一個抗干擾代碼,來判斷你是只按了一次鍵,而不是想連著一直按,所以給了個停頓來消除按鍵中的干擾因素。當(dāng)然如果你確實一直按著不撒手,那說明你就是要一直按著,也就繼續(xù)執(zhí)行了。所以這個事件命令就是針對一次性的按鍵事件,而不是用來做按著不放的按鍵事件。
但是如果我們就是希望一直按著鍵盤,而不是只是想按一下呢?比如我們需要用鍵盤來控制小貓的行走,你肯定希望當(dāng)按鍵按下時,小貓就能連續(xù)走,而不是還要停一下。那怎么編寫這段代碼呢?

我們用一個循環(huán)偵測組合,不斷的去檢測是否空格按鍵被按下,如果按下了就移動10步。讓我們來看看這段代碼的執(zhí)行效果。

看,這走起來是不是行云流水一般。

不過感覺上有點不方便,之前空格鍵檢測就用了一條事件命令,而現(xiàn)在卻要寫一段代碼,如果是一個大型程序,反復(fù)要檢測空格鍵怎么辦,那不是反復(fù)要寫一段代碼?
不用擔(dān)心,我們可以用之前學(xué)過的一個命令解決這個問題。就是廣播和接收。

看,把循環(huán)判斷中的移動命令換成了廣播命令,廣播一條空格鍵被按下的消息,然后用接收命令來接收到消息后執(zhí)行后面的代碼。這樣在大型程序里就不需要反復(fù)去寫一段代碼了,只需要用一條接收消息的命令就可以了。是否很像其他編程工具和數(shù)學(xué)里的函數(shù)以及函數(shù)調(diào)用?原來廣播命令還有這種使用方式,是不是很開心。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除
- 上一篇
Scratch軟件介紹
Scratch軟件都包括什么內(nèi)容呢?下面簡單介紹一下: 打開軟件后,會看到下面的內(nèi)容。這個軟件分為左上-展示區(qū)、左下角色區(qū)、右-腳本區(qū)三大部分,中間最復(fù)雜的部分是模塊區(qū)。此外還有工具欄、選項卡等其它部分,我們在后面的課程中慢慢來學(xué)習(xí)了解。 我們
- 下一篇
Scratch 作品欣賞:沙漠歷險記(小學(xué)4-6年級組)
“沙漠歷險記” - 小學(xué)4-6年級組學(xué)生作品,通過 Scratch 平臺制作完成,是一個在電腦上用鼠標(biāo)控制操作的互動游戲。作者:Sun Yong Heng(小學(xué)5年級)
