資訊內(nèi)容
Scratch第十二講:克隆的妙處
前言
上一講我們講了如何用Scratch來做重力拋物線,今天我們繼續(xù)把它做成一個好玩的小游戲,通過讓青蛙跳起來吃掉空中飛的蟲子。看看青蛙跳幾次能吃完所有的蟲子。
首先看看CC哥做的程序效果
青蛙吃飛蟲小游戲
看完之后,我們就發(fā)現(xiàn)今天程序的關(guān)鍵點,就是如何創(chuàng)建這么多小飛蟲呢?(CC哥比較懶,懶得去找飛蟲的素材了,索性就用素材庫里的小蝴蝶代替吧)
那么飛蟲怎么創(chuàng)建呢?難道有幾只飛蟲就要創(chuàng)建幾個角色嗎?顯然不用,那樣的話編程會變得很復(fù)雜。Scratch提供了很強(qiáng)大的克隆功能,而且,克隆出來的蝴蝶都可以執(zhí)行單獨的腳本。
下面,CC哥就把程序進(jìn)一步做講解,看看在編程中會用到哪些技巧。
1、克隆的使用技巧
先創(chuàng)建一個蝴蝶的角色,然后在腳本中添加克隆語句,假設(shè)我們希望有八只蝴蝶,那么這段代碼就是把蝴蝶克隆八次。(隱藏命令是將蝴蝶的本體角色隱藏起來,這樣空中飛舞的都是克隆體。)
然后我們執(zhí)行一下看看,發(fā)現(xiàn)屏幕上什么也沒有,原來本體被隱藏命令隱藏了,所以克隆出來的蝴蝶也都隱藏了。我們把隱藏命令去掉再執(zhí)行一遍代碼看看。
奇怪,蝴蝶倒是顯示出來了,怎么只有一個呀?我克隆的8個蝴蝶哪去了?不要急,其實你克隆的蝴蝶都在屏幕的一個位置上,全部重疊在一起了。你用鼠標(biāo)選中蝴蝶角色拖動一下就發(fā)現(xiàn),下面還有蝴蝶。
2、克隆體腳本的應(yīng)用既然蝴蝶都克隆出來了,我們就希望針對這些克隆的蝴蝶來單獨寫代碼,讓這8只蝴蝶長得不一樣,有大有小,顏色也不同,而且還要飛來飛去不容易被青蛙吃掉,這樣才生動,才會好玩。
如何實現(xiàn)呢?這里就要用到一條關(guān)鍵命令:
這條命令是一個事件命令,當(dāng)克隆體被啟動時,執(zhí)行下列代碼。那讓我們看看CC哥怎么寫這段代碼的。
第一部分:
1:這段代碼的第一句就先把克隆的蝴蝶分布到了不同的位置。(隨機(jī)數(shù)的應(yīng)用)
2:第二句和第三句用于隨機(jī)設(shè)定蝴蝶的大小和顏色。(還是隨機(jī)數(shù)的應(yīng)用)
3:8只蝴蝶不能都朝一個方向飛呀,所以飛行的方向也要隨機(jī)設(shè)定。(又是隨機(jī)數(shù))
注:這幾句程序都是在設(shè)定每只克隆蝴蝶的初始狀態(tài),全部設(shè)置完畢后,就可以顯示出來啦。
第二部分:
注:設(shè)置好之后,就可以讓蝴蝶開始運(yùn)動了,這個之前都學(xué)過了,用循環(huán)命令就行。但是在循環(huán)中有一個判斷,就是蝴蝶飛行的過程中是否碰到青蛙,如果碰到就要被吃掉,如果沒碰到就繼續(xù)飛行。
1:沒有碰到青蛙的腳本:
移動步數(shù),加上之前學(xué)過的碰到邊緣就反彈。
2:碰到青蛙的腳本:
將蝴蝶數(shù)量減去1,然后判斷是否是最后一只,如果是就通知游戲結(jié)束(通過廣播命令發(fā)布消息)。如果不是,就刪除本克隆體后繼續(xù)執(zhí)行程序。
4、廣播命令和接收廣播命令廣播命令和接收廣播命令一般是配套使用,主要用于不同角色之間的信息傳遞,比如游戲的終止一般會用到廣播命令,當(dāng)一個角色觸發(fā)某種條件后,就可以在其腳本中通過廣播命令發(fā)布消息,通知所有的角色游戲結(jié)束了。而其他角色收到消息后就可以執(zhí)行相應(yīng)的腳本。
這里CC哥加了個game over的角色,當(dāng)收到游戲結(jié)束的廣播消息時,就執(zhí)行顯示命令。
好了,總結(jié)一下,今天重點講得是克隆,以及克隆體的腳本。大家可以試試,這個命令在做游戲時很強(qiáng)大的,好好想想,是不是在玩的很多類似的游戲中是不是都會出現(xiàn)這種應(yīng)用,比如天上飛的敵機(jī),游戲中隨機(jī)跑來跑去的小人,小怪物。這個游戲大家可以再創(chuàng)意一下,按照你自己的想法去設(shè)計。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除

- 上一篇
Scratch 作品欣賞:沙漠歷險記(小學(xué)4-6年級組)
“沙漠歷險記” - 小學(xué)4-6年級組學(xué)生作品,通過 Scratch 平臺制作完成,是一個在電腦上用鼠標(biāo)控制操作的互動游戲。作者:Sun Yong Heng(小學(xué)5年級)
- 下一篇
Scratch 基礎(chǔ)教學(xué)|第十課: Scratch基本組件之偵測類功能塊詳解
hi,大家晚上好。上一節(jié)課主要給大家介紹了Scratch控制類功能塊可實現(xiàn)的功能及每一個控制類功能塊的具體用途及如何使用。 本節(jié)課主要和大家一塊了解并學(xué)習(xí)偵測類功能塊可實現(xiàn)哪些功能及每一個偵測類功能塊的具體使用。 本節(jié)課的課程目標(biāo)如下: