在家教孩子學(xué)編程(5):海底世界
我們一起在家教孩子學(xué)編程
我是琦爸,一個(gè)自己在家教孩子玩編程、人工智能的爸爸。如果你也想自己在家教孩子學(xué)編程,歡迎加入我們的組織,一起學(xué)習(xí)交流。
今天是在家教小朋友學(xué)編程的第5天,小朋友之前喜歡玩《捕魚達(dá)人》游戲,于是就準(zhǔn)備帶著小朋友一起做一個(gè)接近《捕魚達(dá)人》的《海底世界》作品。?首先,我們需要思考一下,一個(gè)海底世界大致是什么樣的?應(yīng)該有海底的舞臺(tái)背景,海底世界里面應(yīng)該生活有一些海底的動(dòng)物,例如魚在海底游來游去。?所以,我們可以按照以下步驟來創(chuàng)作這樣一個(gè)作品。
?第1步:選擇海底背景?從背景庫(kù)中選取水下圖片作為舞臺(tái)背景圖,具體步驟如下圖所示。?



海底水下的舞臺(tái)背景選取好后,Scratch軟件系統(tǒng)默認(rèn)的角色小貓出現(xiàn)在畫面中就有些不合適了。根據(jù)前面所學(xué)的刪除角色方法,鼠標(biāo)點(diǎn)擊選中角色區(qū)內(nèi)要?jiǎng)h除的角色,點(diǎn)擊角色圖標(biāo)右上角的“×”即可刪除小貓角色。?


第2步:選取海底動(dòng)物角色?海底世界都有什么呢?用上前面學(xué)過的添加角色的方法,先添加一條小魚,如下圖所示。

?點(diǎn)擊添加一個(gè)角色,選中角色動(dòng)物分類里面的Fish(魚)。?

這樣就得到在一個(gè)海底世界(舞臺(tái))里面有角色(魚)的畫面。?

接下來,我們需要讓角色在舞臺(tái)上動(dòng)起來。?第3步:讓角色動(dòng)起來?我們想要讓角色聽話,能夠動(dòng)起來,要想讓計(jì)算機(jī)聽指揮,就需要給計(jì)算機(jī)下達(dá)“指令”,即編寫程序。?下面,我們先讓魚“Fish”角色游動(dòng)起來。選中“Fish”角色,從指令積木區(qū)拖出指令塊到腳本區(qū)。
?

選中Fish角色?單擊該指令塊,你觀察到了什么?是不是每點(diǎn)擊一次,“Fish”角色就會(huì)向右移動(dòng)一下?這是因?yàn)槲覀兪峭ㄟ^指令塊告訴計(jì)算機(jī)讓“Fish”角色往右邊移動(dòng)的。?那么,為什么單擊指令塊后“Fish”角色是往右移動(dòng)的呢?這是因?yàn)橄到y(tǒng)默認(rèn)該角色的移動(dòng)方向是“90”,即向右移動(dòng)。你可以通過拖動(dòng)改

變角色的移動(dòng)方向,然后再點(diǎn)擊該指令塊試試。
?


??更改移動(dòng)10步指令塊中的參數(shù)“10”為20后,再次點(diǎn)擊該指令塊。這個(gè)參數(shù)所代表的意義就是具體移動(dòng)的步數(shù)(坐標(biāo))。?如果需要一直點(diǎn)擊指令塊而讓角色動(dòng)起來,那就太麻煩了。讓角色一直移動(dòng),可以看成讓角色重復(fù)移動(dòng)的動(dòng)作,而這可以交給計(jì)算機(jī)來完成。???我們可以在控制積木分類里面找到

指令塊,并拖動(dòng)到腳本區(qū)。
?該指令塊中間的缺口是否和指令塊的形狀相匹配?拖動(dòng)“移動(dòng)10步”指令塊到“重復(fù)執(zhí)行”指令塊中間的缺口處。仔細(xì)觀察,你會(huì)發(fā)現(xiàn)這個(gè)缺口突然變大了,而且缺口的顏色也從白色變成了青灰色。?

??松開鼠標(biāo)后,“移動(dòng)10步”指令塊就順利地嵌入“重復(fù)執(zhí)行”指令塊中了。?為了方便程序程序的執(zhí)行,在腳本的最前面加上一個(gè)“帽子”

指令塊,其他指令塊都連接在“帽子”指令塊下面并依次執(zhí)行。當(dāng)我們需要執(zhí)行程序時(shí),只需要點(diǎn)擊舞臺(tái)表演區(qū)左上角的

按鈕;當(dāng)需要停止程序執(zhí)行時(shí),點(diǎn)擊

按鈕。
????我們可以連續(xù)多次點(diǎn)擊下圖所示的小綠旗,觀察接下來有什么新變化。?

??當(dāng)Fish移動(dòng)到舞臺(tái)最右邊的時(shí)候被“卡”住了,這可怎么辦呀?我們?cè)诰帉懗绦驎r(shí)總會(huì)出現(xiàn)這樣或那樣的BUG(中文翻譯為“臭蟲”,在計(jì)算機(jī)中一般表示程序錯(cuò)誤),這是一種正常現(xiàn)象。并且,在解決這些BUG的過程中,我們能學(xué)到很多知識(shí),獲得成就感。?這個(gè)時(shí)候我們就需要使用一個(gè)的運(yùn)動(dòng)積木,讓角色在碰到舞臺(tái)邊緣時(shí)返回。
?這樣,我們一點(diǎn)擊小綠旗,就可以讓魚在海底游來游去了,不會(huì)被卡住在舞臺(tái)邊緣。?但是一直點(diǎn)擊小綠旗,是不是又有奇怪的事情發(fā)生了?我們發(fā)現(xiàn)角色碰到舞臺(tái)邊緣后除了會(huì)反彈,而且會(huì)旋轉(zhuǎn),F(xiàn)ish翻過來了。那怎么解決這個(gè)問題呢??這是因?yàn)榻巧男D(zhuǎn)模式是默認(rèn)的“任意旋轉(zhuǎn)”,

如左下圖所示。如果你不希望角色進(jìn)行旋轉(zhuǎn),那就將旋轉(zhuǎn)方式改成“左右翻轉(zhuǎn)”。
?

我們?cè)谶\(yùn)動(dòng)積木分類里面找到
,然后拖入到腳本區(qū)。
??
?這樣一個(gè)《海底世界》的作品,我們就完成了。
少兒編程其實(shí)很簡(jiǎn)單,只要你愿意,你也可以自己在家教孩子學(xué)編程,不會(huì)的話可以跟著我一起學(xué)。
?
如果你也想自己在家教孩子學(xué)編程,歡迎加入我們,我們一起交流在家自己教孩子學(xué)編程過程中的心得收獲。
我是琦爸,一個(gè)自己在家教孩子玩編程、人工智能的爸爸。