資訊內(nèi)容
Scratch編程——功能擴展篇
Scratch編程為我們提供了很多功能的基本語句,在前面的幾個篇章中我們逐一熟悉了這些基本語句的功能。利用這些基本的原材料我們就可以編制出我們想要的功能,制作出好玩的動畫和游戲。但有的時候這些基本語句又顯得過于簡單,讓我們實現(xiàn)一些比較復雜的功能就顯得非常繁瑣。還有些時候,在我們的程序中會有很多重復的功能,在我們寫程序的時候每一次都將這個功能的大段腳本重復一遍會讓我們的程序顯得非常冗長,影響可讀性。例如在上次我們繪制彩色蜘蛛網(wǎng)的程序中我們將繪制一個六邊形的程序重復了3次,而這3次所畫出的六邊形僅僅是邊長不同,繪制的起始位置不同而已,具體到繪制的程序倒是完全相同的。這里我們僅僅是畫了3次,要是我們想讓這個蜘蛛網(wǎng)有10層六邊形嵌套呢?我們是不是要重復寫10次那段程序呢?我們有什么好的辦法能夠?qū)⑦@種重復的工作簡化嗎?
? 答案是肯定的,我們可以將類似這種重復的工作進行簡化。Scratch軟件為我們提供了制作自己定制語句的功能——更多積木欄。
在更多積木欄中有兩個選項:制作新的積木和添加擴展。制作新的積木就是我們上面提到的自定義程序語句功能,而添加擴展可以添加一些硬件,比如Lego的WeDo編程玩具等。這里我們主要熟悉一下制作新的積木功能。其實我們可以用一個在編程領域更加通用的名稱來稱呼制作新的積木功能,那就是函數(shù),也就是我們將一段需要重復利用的程序打包并賦予它一個統(tǒng)一的名稱,然后在具體程序中需要使用這一功能的地方調(diào)用這個名稱的積木(腳本函數(shù))。我們點擊制作新的積木按鈕來看看會發(fā)生什么?
我們給新的積木起名叫做“畫線”,用來在舞臺上畫出一定長度的直線。在選項菜單下面可以添加一些參數(shù),它們的數(shù)值類型是不同的。比如這里我們添加三個數(shù)字參數(shù),分別代表“起點x坐標”,“起點y坐標”和“線段長度”。這樣一個新的積木就創(chuàng)建出來了,點擊確認后我們發(fā)現(xiàn)在腳本區(qū)域會增加一段程序的開頭,像一個小房子的屋頂一樣。
在這下面我們就可以為實現(xiàn)畫線來寫具體的程序了。
這段程序首先將畫筆選定顏色和粗細,然后移動到參數(shù)“起點x坐標”和“起點y坐標”的位置,選定從左向右畫線,然后落筆畫出參數(shù)“線段長度”所規(guī)定的長度,畫完之后抬筆。程序中需要用到我們定義的參數(shù)的地方只需要從屋頂定義處將所需的參數(shù)拖放過去就可以了。有了這段自定義的積木程序,我們就可以隨時使用它畫出我們需要的線段了。
在這個實例程序中,我們創(chuàng)建了三個變量x,y,長度。在一個5次循環(huán)中分別賦予它們一個隨機數(shù)值,然后調(diào)用畫線積木,并將x,y,長度變量放到畫線積木所定義的三個參數(shù)位置。在此我們可以看出在具體程序中這三個參數(shù)是有實際意義的,需要創(chuàng)建具體的變量來賦予它們具體的數(shù)值。而在上面定義積木的時候這三個參數(shù)是沒有實際意義的,它們僅僅是一些代號,可以是任意的數(shù)值。在Scratch程序中我們也可以發(fā)現(xiàn)它們被定義為不同的顏色加以區(qū)分。在編程理論中我們將自定義功能(函數(shù))中所創(chuàng)建的參數(shù)叫做形式參數(shù),它們只作為一種代號而存在,不具有實際的數(shù)值。同時將在調(diào)用自定義功能(函數(shù))時才給形式參數(shù)賦予的數(shù)值或變量叫做實際參數(shù),它們才是具有實際意義的參數(shù),是將一個功能實例化的結果。
好了,今天我們在此了解了Scratch編程中的”多積木”的擴展功能,這可是一個非常有用的工具,它可以將Scratch的基礎功能進一步擴展,實現(xiàn)更加復雜的功能,也可以優(yōu)化編程過程,讓程序更加容易理解。如果我們在今后去學習更加高級的編程語言,函數(shù)功能更是我們離不開的一項利器。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯(lián)系刪除
