資訊內容
Scratch編程——事件控制篇
? ? 彤爸的工作是做工業自動化的,經常和變頻器呀,PLC(可編程控制器)呀打交道,工廠里面的機器設備都少不了這些東西的控制。比如當工人按下啟動按鈕的時候,機器開始運行;當設備移動到一個特定位置時立刻停機;當這一道工序執行10次以后開始執行下一道工序,等等。我們所說的這些情景就都屬于事件觸發和控制的過程。
? ? Scratch編程也有類似的機制,來控制程序腳本的開始或停止,控制程序腳本執行的步驟和次數等,也就是事件和控制欄。
??
? ? 在事件欄和控制欄中的很多語句我們在之前篇章的實例程序中都使用過,比如“當綠旗被點擊”,“當角色被點擊”,“重復執行10次”,“如果<條件>,那么。。。”等。這里“當綠旗被點擊”和“當角色被點擊”都屬于事件欄,是用來觸發一段程序腳本開始執行的條件,我們可以稱之為:條件觸發。在上面所列出來的語句中可以看到還有一些別的條件也可以作為一段程序開始的觸發,比如按下空格(或其他)按鍵,舞臺背景切換,接收到的響度等。除此之外,還有一種條件是“當接收到消息1”,這也是一種常用的條件觸發,經常用在兩個角色的互動。例如下面的程序示例就是當我們點擊鈴鐺角色時向外廣播“前進”消息,而對于小貓角色就是當接收到“前進”消息,向前移動10步。這樣通過這個“前進”消息,我們連接了兩個不同的角色,讓它們之間產生了互動。
? ? 在控制欄中,最常用的語句就是各種循環語句和條件判斷語句。下面的三段程序分別使用了固定次數的循環語句,無限循環語句加條件判斷語句,和循環直到滿足條件語句,但是它們實現的結果都是一樣的——讓小貓向前移動50步,殊途同歸,只是表達的方式不同而已。這里還使用了一種“停止語句”,它可以作為一段程序腳本的結束,或者跳出當前的循環等作用來使用。
? ? 在控制欄中還有一類語句是關于克隆的,克隆是將當前角色復制顯示在舞臺上,這樣當我們需要很多相同的角色時就不用建立那么多單獨的角色了,可以直接用克隆語句來實現角色的復制。例如下面的程序就可以復制出10個小貓的克隆體,顯示在舞臺的隨機位置上。
? ? 可以說事件和控制語句是讓我們的Scratch程序活起來的最有效的武器。只有有效靈活的使用這一類語句才能讓我們的小小舞臺上的角色變得有生命,有色彩,按照我們的期望完成任務。現在,我覺得我們里一個合格的Scratch達人已經不遠了。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
