資訊內(nèi)容
Scratch全國(guó)少兒編程競(jìng)賽獲獎(jiǎng)作品《時(shí)空穿越》解析上篇
Scratch全國(guó)少兒編程競(jìng)賽
獲獎(jiǎng)作品解析《時(shí)空穿越》
本文介紹的作品是全國(guó)青少年創(chuàng)意編程與智能設(shè)計(jì)大賽創(chuàng)意編程比賽一等獎(jiǎng)獲得者江夷越同學(xué)的最新參賽作品。
作品說(shuō)明
一位天才創(chuàng)造了許多發(fā)明,其中最強(qiáng)大的就是時(shí)空傳送門,它一共有三個(gè)按鈕,按下隨機(jī)按鈕即可進(jìn)行時(shí)空旅行,進(jìn)行時(shí)空穿越可以去到不同的時(shí)代哦,在時(shí)空穿越的途中會(huì)有什么奇遇發(fā)生呢?事不宜遲,馬上開(kāi)展你的冒險(xiǎn)之旅吧。
游戲中的變量以及作用
變量名稱 |
作用 |
---|---|
碎片 | 記錄主角獲得的游戲碎片數(shù) |
這篇文章,果凍老師帶領(lǐng)大家一起學(xué)習(xí)Scratch創(chuàng)意編程大賽小學(xué)1-3年級(jí)組一等獎(jiǎng)獲得者江夷越同學(xué)的最新作品《時(shí)空穿越》。這個(gè)游戲作品講述的是一位天才科學(xué)家在三天時(shí)間里發(fā)明了飛毯、機(jī)器人以及神奇的時(shí)空傳送門,但是時(shí)空傳送門在傳送的時(shí)候出現(xiàn)了問(wèn)題,產(chǎn)生了bug,不能通過(guò)正常的按鈕回家,我們要幫助科學(xué)家完成收集碎片和古詩(shī)對(duì)話兩個(gè)任務(wù),協(xié)助他回到家中。
好,我們這就開(kāi)始吧。
點(diǎn)擊綠旗點(diǎn)擊綠旗之后,游戲會(huì)立即開(kāi)始,角色1也就是天才科學(xué)家就會(huì)開(kāi)始給大家介紹他的發(fā)明。
綠旗后面的四條語(yǔ)句是初始化語(yǔ)句,它們?cè)O(shè)置了科學(xué)家角色的大小與位置。
然后,科學(xué)家說(shuō)了兩句話:“快看!這是我這三天做的發(fā)明”和“第一個(gè):飛毯”。接著就廣播了飛毯出現(xiàn)。
飛毯出現(xiàn)接收飛毯出現(xiàn)廣播的角色那一定就是飛毯了:
飛毯的展示過(guò)程就是從舞臺(tái)區(qū)的右上角飛到科學(xué)家的腳下,然后帶著科學(xué)家一起飛起來(lái)。
在這里,我們需要使兩個(gè)角色同時(shí)運(yùn)動(dòng)。
讓一個(gè)角色的位置與另一個(gè)角色的位置相同可以使用移到語(yǔ)句,在移到語(yǔ)句的外層再套一個(gè)重復(fù)執(zhí)行語(yǔ)句就可以實(shí)現(xiàn)一個(gè)角色跟隨另一個(gè)角色同時(shí)運(yùn)動(dòng)的效果了。
注意,這里重復(fù)執(zhí)行語(yǔ)句是帶有條件的,當(dāng)飛毯的x坐標(biāo)小于-220,并且y坐標(biāo)小于-160的時(shí)候,就不會(huì)再運(yùn)行重復(fù)執(zhí)行里面的移到語(yǔ)句了,而會(huì)繼續(xù)運(yùn)行重復(fù)執(zhí)行后面的語(yǔ)句。重復(fù)執(zhí)行的條件是必須要有的,如果沒(méi)有,或者x坐標(biāo)與y坐標(biāo)的值設(shè)置的不合理(比如小于角色1的坐標(biāo)值),那循環(huán)就會(huì)一直執(zhí)行下去,永遠(yuǎn)也不會(huì)運(yùn)行后面的代碼了。
重復(fù)執(zhí)行語(yǔ)句后面的代碼就是繼續(xù)重復(fù)執(zhí)行10次并改變虛像特效,每次特效值都增加10,這樣虛像效果到100時(shí)飛毯就完全透明消失掉了。
有沒(méi)有細(xì)心的同學(xué)發(fā)現(xiàn)了,科學(xué)家在移動(dòng)的過(guò)程中,飛毯是始終在科學(xué)家的腳下的,但是很多同學(xué)在第一次做這個(gè)游戲并運(yùn)行到這里的時(shí)候,飛毯與科學(xué)家的位置總是不太對(duì)勁,就像這樣:
這是什么原因呢?在Scratch中,其實(shí)每個(gè)角色都有一個(gè)中心點(diǎn),當(dāng)我們點(diǎn)擊角色的造型后,就可以看到這個(gè)中心點(diǎn)了:
看到紅色圓圈圈出來(lái)的那個(gè)標(biāo)記了嗎?有點(diǎn)小,仔細(xì)看,有一個(gè)灰色的圓圈中間還有一個(gè)十字,這就是角色的中心點(diǎn)標(biāo)記,默認(rèn)情況下,每個(gè)中心點(diǎn)都位于角色的中間,當(dāng)我們使用移到語(yǔ)句將兩個(gè)角色對(duì)齊時(shí),實(shí)際上是它們的中心點(diǎn)對(duì)齊了,于是就產(chǎn)生了上面截圖中的動(dòng)畫(huà)效果。
那如果要讓飛毯始終位于科學(xué)家的腳下,也就是讓飛毯的中心點(diǎn)與科學(xué)家的腳對(duì)齊該怎么辦呢?很簡(jiǎn)單,只需要把科學(xué)家的中心點(diǎn)移到他的腳下就可以了,就像在上圖的造型選項(xiàng)卡中,選中科學(xué)家角色,然后用鼠標(biāo)拖動(dòng)他向上移動(dòng),將中心點(diǎn)移到紅色圓圈的位置,這樣,動(dòng)畫(huà)效果就對(duì)了。
科學(xué)家展示了他的飛毯,緊接著就會(huì)展示他的第二個(gè)發(fā)明:機(jī)器人。
機(jī)器人出現(xiàn)同樣的,在角色1科學(xué)家的代碼中接著會(huì)廣播機(jī)器人出現(xiàn),那接收這個(gè)廣播的角色當(dāng)然就是機(jī)器人了。
當(dāng)機(jī)器人接收到讓它出現(xiàn)的廣播后,它就會(huì)乖乖的出來(lái),并且說(shuō):放閃電!同時(shí)會(huì)廣播秀出自己的閃電技能。
那閃電角色接收到機(jī)器人的命令(廣播)后,就會(huì)放電,代碼很簡(jiǎn)單,果凍老師就不在這里截圖了,同學(xué)們可以下載源代碼后自己查看哦。
好了,科學(xué)家的前兩個(gè)發(fā)明都展示完了,接下來(lái)就要秀出他的大招了,那就是神奇的時(shí)空傳送門。
一共有三個(gè)角色會(huì)接收傳送門出現(xiàn)的廣播,它們是:
角色3很明顯,一看就是神秘的時(shí)空傳送門;角色5和角色6是兩個(gè)按鈕,點(diǎn)擊它們可以把科學(xué)家分別傳送到不同的朝代。
當(dāng)接收到出現(xiàn)的指令后,傳送門會(huì)逐漸打開(kāi)并顯示在科學(xué)家的面前:
當(dāng)綠旗被點(diǎn)擊后,傳送門的位置就已經(jīng)初始化設(shè)置好了,只是它被隱藏并且大小為0。
當(dāng)接收到出現(xiàn)的廣播后,首先設(shè)置了顯示的語(yǔ)句,然后傳送門的大小就從0開(kāi)始慢慢的增大,一共會(huì)重復(fù)執(zhí)行10次,每次大小都增加5,那重復(fù)執(zhí)行后的大小就是10×5=50,大家看果凍老師在截圖中的注釋,最后一個(gè)語(yǔ)句是可以不設(shè)置的,因?yàn)橹貜?fù)執(zhí)行10次之后,根據(jù)我們的計(jì)算傳送門的大小就是50,于是,設(shè)置與否它的效果都是一樣的。
角色5與角色6呢,也就是A和B兩個(gè)按鈕就更簡(jiǎn)單了,當(dāng)接收到傳送門出現(xiàn)的廣播后,它們直接在指定的位置顯示出來(lái)就行了,比如A按鈕:
到這里,傳送們已經(jīng)開(kāi)啟了,我們需要選擇A或者B傳送科學(xué)家到不同的朝代完成冒險(xiǎn)的旅程,不同的朝代會(huì)遇到不同的故事,需要我們幫助科學(xué)家完成不同的挑戰(zhàn)任務(wù),然后協(xié)助他重新返回家中,這部分內(nèi)容果凍老師就在文章的下篇中再介紹,同學(xué)們拭目以待哦。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除
