Scratch完美的初體驗

Scratch是由美國麻省理工學院MIT設計開發的圖形化少兒編程工具。通過圖形控件,小孩可以在不編寫任何代碼的情況下實現很多程序功能。從初步體驗來看,五六歲以上的小孩即可上手。Scratch使用了舞臺、角色概念,內置的人物、動物、玩具等對小孩還是很有吸引力的。小孩可以當做遊戲來玩。在小孩還不能獨立完成程序人物的情況下,家長或老師可以指導小孩完成程序設計,做一個小動畫,實現各種變化,通常來說,小孩的興致還是很高的。學員無需下載scratch軟件,可以直接在MIT網站上使用scratch.mit.edu。可以存爲本地文件,在本地scratch軟件中修改,也可以直接保存到MIT網上。我下載了一個2.0中文版的Scratch,控件的字體似乎不對,後來還是直接使用MIT網上的Scratch環境,這個網站支持中文,網頁最下方可以選擇語言-中文。

2017年,5月的第一天上午,和六歲的小孩一起動手,完成了《雪地大戰》,初步認識了Scratch的強大。雖然今天的練習還不能獨立完成,但已經初步培養的編程的興趣,所有的操作都是在家長指導下由小孩自己完成的,因爲小孩把這個當做一個遊戲來做。

首先介紹了這個軟件能夠做什麼。然後直接在軟件圖庫中選擇了舞臺背景,看了一遍系統提供的舞臺背景以後,小孩選擇了雪地雪山背景。有了背景以後,就可以添加角色。默認的角色是一個小貓咪,先把這個小貓咪刪掉。因此需要了解鼠標的左右鍵,點擊右鍵,能夠將選中的角色刪除。系統提供了動物、奇幻、字母、熱恩無、物品、交通等角色分類。小孩看到這些角色圖庫,着實興奮了一把,都像把他們放進來。

我們確定今天的主題是讓某個角色飛起來。所以最後是選擇了巫師,因爲之前看過哈利波特的電影。計劃是讓巫師從舞臺左下角飛到舞臺右上角,達到右上角以後,回到左下角原點。後來有添加了螃蟹、蝙蝠、鬼怪。打算巫師是對角飛,螃蟹是在下方左右翻滾移動,鬼怪在中間左右平飛,蝙蝠在舞臺中間自下而上飛,同時蝙蝠會逐漸變大。

先完成巫師的對角飛行。介紹舞臺的X方向和Y反向。舞臺的正中央是零點。如果要想讓某個角色從左到右移動,那麼橫向的X是增加還是減少?答案是X++,比如一次加1或者一次加4,加的越多,就飛得越快。然後巫師還需要往上飛,因此Y方向要向上移動,即Y++。如果要往左飛,則X–,往下飛則Y–。舞臺最右邊是X=240,最左邊是X=-240。舞臺最上面是Y=180, 最下面是Y=-180。負數就是比零還小的數字。

有了這個認識以後,我們進入腳本區域。介紹第一個分類是“事件”。在事件中,我們添加了“當小綠旗子被點擊”,就是開始按鈕,然後執行一些操作。

1)因爲默認的巫師圖片比較大,所以每次開始時,我們都先設定巫師的大小爲60。這樣怎麼操作?進入“外觀”,裏面有一個控件“將角色大小設定爲XX”,XX空格中可以錄入數字。將這個控件拉過來,把開始小旗子磁貼粘貼在一起。這和樂高的WEDO類似。就是幾個控件依次放在一起。

2)要實現巫師往右飛,我們使用了“運動”中的控件“將X座標增加XX”,我們設定了增加4.

3)要實現巫師往上飛,我們使用了“運動”中的控件“將Y座標增加XX”,我們設定了增加3.

這時候已經可以開始運行了,但是每次點擊運行,巫師只會飛一點點,需要不停點擊,才能往右上角飛。

那如何讓巫師連續的飛的?答案是使用循環。

4)循環屬於“控制”,在“控制”分類中,選擇重複執行這個框,將X,Y的兩個控件都包括在內。

因爲是重複無數次執行,因此我們實現了巫師對角飛行。但是問題又來了。巫師碰到右上角以後,就飛出去不動了,因爲到底了。如何解決這個問題?

這時候我們討論,每飛一次,我們就檢查一下,如果X座標大於240,我們就然巫師重新回到左下角。因此我們增加了一個判斷。

5)判斷還是屬於“控制”,在控制中增加“如何…..那麼”的判斷。

6)判斷有條件,條件屬於“運算”,我們到“運算”中,拖一個“某某>某某”的判斷控件到這個“如果…那麼”上。

然後獲取巫師的當前位置,這可以在“運動”中找到“X座標”。判斷條件是:

X座標> 240.

7)如果條件滿足,我們就要讓巫師回到原點,即X座標等於-240,Y座標等於-180。

運行,巫師就開始對角飛行,飛到右上角以後,又重新回到坐下角,不停的重複。

後來我們按照相同的方法,實現了旁邊從左到右,裏面增加了一個運動動作“右轉XX度”。

鬼怪的動作我們選擇了,從左到右,但更簡單,沒有使用判斷,只是往右執行120次,X軸每次增加4,執行完畢以後,繼續執行120次,但是每次增加-4,這樣就實現了不停來回的移動。

對於蝙蝠,我們加上了大小變換。從下往上移動,還是使用判斷,到達頂部以後回到底部。蝙蝠往上移動的時候,我們然大小逐漸變大,然後回到原點的時候,重新設置爲開始時的大小。

我們是使用瀏覽器,在MIT網站上直接使用Scratch的,最後我們將項目保存在MIT網站中,同時保存一份到本地計算機桌面上。

小孩說要設計一個能發射炮彈的遊戲。那我們下次,打算讓一個飛機從左往右飛,然後飛行過程中能夠向下扔炸彈。飛機是一個角色,炸彈是一個角色,關鍵是計算位置,要實現炸彈是從飛機上扔下來的。

要繼續學習,就得好好喫飯,先做好作業。果然,有了這個期待,今天的娃還是很聽話的。

總結今天學習的內容:

1.    舞臺:會自己添加舞臺背景了。

2.    角色:會自己添加角色了。

3.    事件:開始

4.    外觀

a.    將角色大小設定爲60

b.    將角色大小增加2

5.    運動

a.    將X座標增加4

b.    將Y座標增加3

c.     右轉4度

d.    X座標:讀取X座標的值

e.    移動到X=-240, Y=-180:回到左下角。

6.    控制

a.    重複執行:無限制,永遠重複

b.    重複執行140次:每次X+2

c.     如果??那麼??:如果X>240,就回到原位。

對於這些分類,第一次還是記不住的,後面希望每週花半天時間,通過練習,記憶,能夠自行完成這些作業。

其他時間,可以講解各種設計、控件和基礎知識。

a1

黑板上第一講,寫了一些重點。小孩表示能夠理解,能夠回到,如果要往右飛,X應該增大,還是減小,Y應該增大還是減小。

44

scratch編程環境。左上角是舞臺,下面可以選擇舞臺背景圖和角色。這裏都直接使用圖庫中的圖。右邊是腳本和控件程序。

dd

背景圖庫

640 (2)

分類角色:有奇幻、動物、人物、物品、交通等,對小孩還是很有吸引力的。

640 (3)

這是運算腳本,巫師飛行中,飛到右上角就返回到原點,所以這裏使用了判斷X>240. 

640 (4)

腳本中的分類還是很好的,通過顏色即可看到歸入在哪一類中。不過小孩要先知道某個控件在某一類中,才能找到,例如判斷在控制中,判斷條件在運算中,大小變化在外觀中,XY左邊變換,轉動在運動中。

640 (5)

外觀控件

640 (6)

鬼怪的的程序,從左到右,然後返回。

家有五六歲以上的小孩,都可以試試這個scratch編程,可以當做遊戲玩。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章