国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現在的位置是:首頁 » scratch編程資訊

資訊內容

Scratch第十二講:克隆的妙處

極客小將2021-03-14-
前言 上一講我們講了如何用Scratch來做重力拋物線,今天我們繼續把它做成一個好玩的小游戲,通過讓青蛙跳起來吃掉空中飛的蟲子。看看青蛙跳幾次能吃完所有的蟲子。 首先看看CC哥做的程序效果

前言

上一講我們講了如何用Scratch來做重力拋物線,今天我們繼續把它做成一個好玩的小游戲,通過讓青蛙跳起來吃掉空中飛的蟲子。看看青蛙跳幾次能吃完所有的蟲子。

首先看看CC哥做的程序效果

青蛙吃飛蟲小游戲

看完之后,我們就發現今天程序的關鍵點,就是如何創建這么多小飛蟲呢?(CC哥比較懶,懶得去找飛蟲的素材了,索性就用素材庫里的小蝴蝶代替吧)

那么飛蟲怎么創建呢?難道有幾只飛蟲就要創建幾個角色嗎?顯然不用,那樣的話編程會變得很復雜。Scratch提供了很強大的克隆功能,而且,克隆出來的蝴蝶都可以執行單獨的腳本。

下面,CC哥就把程序進一步做講解,看看在編程中會用到哪些技巧。


1、克隆的使用技巧

先創建一個蝴蝶的角色,然后在腳本中添加克隆語句,假設我們希望有八只蝴蝶,那么這段代碼就是把蝴蝶克隆八次。(隱藏命令是將蝴蝶的本體角色隱藏起來,這樣空中飛舞的都是克隆體。)

upload/article/images/2021-03-14/df1f9116b44da82eb66ca5a3bf6b3b47.jpg

然后我們執行一下看看,發現屏幕上什么也沒有,原來本體被隱藏命令隱藏了,所以克隆出來的蝴蝶也都隱藏了。我們把隱藏命令去掉再執行一遍代碼看看。

upload/article/images/2021-03-14/63e08edac02268851bf04eb5455f65dc.jpg

奇怪,蝴蝶倒是顯示出來了,怎么只有一個呀?我克隆的8個蝴蝶哪去了?不要急,其實你克隆的蝴蝶都在屏幕的一個位置上,全部重疊在一起了。你用鼠標選中蝴蝶角色拖動一下就發現,下面還有蝴蝶。

2、克隆體腳本的應用

既然蝴蝶都克隆出來了,我們就希望針對這些克隆的蝴蝶來單獨寫代碼,讓這8只蝴蝶長得不一樣,有大有小,顏色也不同,而且還要飛來飛去不容易被青蛙吃掉,這樣才生動,才會好玩。

如何實現呢?這里就要用到一條關鍵命令:

upload/article/images/2021-03-14/48d7260afe09c38507995bf4660b06f0.jpg

這條命令是一個事件命令,當克隆體被啟動時,執行下列代碼。那讓我們看看CC哥怎么寫這段代碼的。

upload/article/images/2021-03-14/5a4cc5120f6480e0802c753d44cae47d.jpg

3、克隆體腳本分解

第一部分:

1:這段代碼的第一句就先把克隆的蝴蝶分布到了不同的位置。(隨機數的應用)

2:第二句和第三句用于隨機設定蝴蝶的大小和顏色。(還是隨機數的應用)

3:8只蝴蝶不能都朝一個方向飛呀,所以飛行的方向也要隨機設定。(又是隨機數)

注:這幾句程序都是在設定每只克隆蝴蝶的初始狀態,全部設置完畢后,就可以顯示出來啦。

第二部分:

注:設置好之后,就可以讓蝴蝶開始運動了,這個之前都學過了,用循環命令就行。但是在循環中有一個判斷,就是蝴蝶飛行的過程中是否碰到青蛙,如果碰到就要被吃掉,如果沒碰到就繼續飛行。

1:沒有碰到青蛙的腳本:

移動步數,加上之前學過的碰到邊緣就反彈。

2:碰到青蛙的腳本:

將蝴蝶數量減去1,然后判斷是否是最后一只,如果是就通知游戲結束(通過廣播命令發布消息)。如果不是,就刪除本克隆體后繼續執行程序。

4、廣播命令和接收廣播命令

廣播命令和接收廣播命令一般是配套使用,主要用于不同角色之間的信息傳遞,比如游戲的終止一般會用到廣播命令,當一個角色觸發某種條件后,就可以在其腳本中通過廣播命令發布消息,通知所有的角色游戲結束了。而其他角色收到消息后就可以執行相應的腳本。

upload/article/images/2021-03-14/22bcee6fcb9531a6e6f97cfd3bbdaee3.jpg

這里CC哥加了個game over的角色,當收到游戲結束的廣播消息時,就執行顯示命令。

好了,總結一下,今天重點講得是克隆,以及克隆體的腳本。大家可以試試,這個命令在做游戲時很強大的,好好想想,是不是在玩的很多類似的游戲中是不是都會出現這種應用,比如天上飛的敵機,游戲中隨機跑來跑去的小人,小怪物。這個游戲大家可以再創意一下,按照你自己的想法去設計。


聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 建水县| 于田县| 宁都县| 仙游县| 洛浦县| 喜德县| 嘉义县| 秦安县| 从化市| 雷州市| 大足县| 吉林市| 美姑县| 加查县| 龙南县| 乐业县| 德钦县| 楚雄市| 嘉峪关市| 连江县| 岱山县| 宿州市| 凌源市| 平阴县| 广灵县| 泰来县| 屯门区| 中江县| 米泉市| 武隆县| 五家渠市| 甘肃省| 浑源县| 绩溪县| 万盛区| 蒙山县| 扶风县| 永胜县| 治县。| 江西省| 夏津县|