資訊內(nèi)容
Scratch第六講:打地鼠的游戲
首先介紹一個(gè)關(guān)鍵概念:變量
變量是什么,變量是一段有名字的連續(xù)存儲空間。在源代碼中通過定義變量來申請并命名這樣的存儲空間,并通過變量的名字來使用這段存儲空間。 變量是程序中數(shù)據(jù)的臨時(shí)存放場所。在代碼中可以只使用一個(gè)變量,也可以使用多個(gè)變量,變量中可以存放單詞、數(shù)值、日期以及屬性。
算了,還是說人話吧:
比如有人問你:小妹妹,你今年多大啦?你會回答:8歲啦!然后過了一年再有人問你多大啦,你會回答:9歲啦!你看,你的年齡就是一個(gè)變量,隨著時(shí)間是會增加的。
如果有人問你生日是哪天呀?你說:8月1日!過了幾年還有人問你生日呢?你還是會說:8月1日。這就是常量,不會隨著時(shí)間變化的。
程序分析:
打地鼠的游戲里都有什么角色呀? 有洞!有地鼠!有錘子!(角色)
那這些角色都在干什么呀?地鼠從洞里面冒出來!錘子去砸地鼠!(事件)
你怎么知道地鼠從哪里冒出來呀?我也不知道!隨機(jī)的!(關(guān)鍵算法)
既然分析清楚啦,那就開工吧!
創(chuàng)建角色
首先,新建背景和角色,從背景庫/角色庫中分別選擇森林和地鼠、錘子
1.角色:洞
繪制一個(gè)新角色:洞,其實(shí)就是一個(gè)自己畫的橢圓,然后用黑色填充,沒啥特殊的。
基本概念:圖層
似乎“洞”與“地鼠”是可以相互覆蓋,沒錯(cuò),這就是圖層的概念,學(xué)過PS就很容易明白,圖,是一層一層疊加的。在scratch里面,只要鼠標(biāo)左鍵點(diǎn)擊并拖動,該角色就會自動跑到最上層。這里,地鼠當(dāng)然在最上面,所以對于地鼠,在程序一開始咱們就來一個(gè)“移至最上層”。
2.角色:地鼠
為了效果,咱們新建一個(gè)地鼠被打之后的造型
于是,初始化程序就應(yīng)該是這樣
下面介紹一個(gè)特效“虛像”
“虛像”特效真是個(gè)好東西,有了它,我們就可以做出下面這個(gè)效果
具體程序如下
首先講“虛像”特效設(shè)置為100,也就是看不見了,程序“2“是讓地鼠邊往上跑,邊顯示出來。那為啥還會出現(xiàn)程序“1“呢?這是因?yàn)槲蚁M厥笤谧铋_始那一段不顯示,等跑一段才慢慢的邊顯示邊上升
大家可以自己試試看:如果沒有程序“1“會是怎樣?或者把程序“2“的Y坐標(biāo)增加數(shù)字調(diào)大會是怎樣的效果?
需要注意的是:洞與地鼠的位置要合適,這里大家可以自己調(diào)整。接下來,看看5只地鼠怎樣隨機(jī)出現(xiàn)呢?
一想到隨機(jī),我們當(dāng)然想到了“隨機(jī)數(shù)“
我們先設(shè)置一個(gè)變量“哪只地鼠”,然后在舞臺里編程,每隔1秒鐘,對“哪只地鼠”產(chǎn)生一個(gè)1-5的隨機(jī)數(shù)。然后我們就可以根據(jù)這個(gè)變量的隨機(jī)數(shù)值去讓哪只地鼠出來咯!在復(fù)制其他地鼠的時(shí)候記得改坐標(biāo)
這里需要介紹一個(gè)廣播的東西,廣播是一個(gè)將不同角色聯(lián)系在一起的工具
比如上面這個(gè)程序是在“舞臺”里做的,但是我們可以讓地鼠接受到廣播
你看,廣播哪一只就是哪一只出來,而最后這個(gè)等待只是為了調(diào)整游戲節(jié)奏
3.角色:錘子
咱們首先需要做的就是讓錘子跟隨鼠標(biāo)走,這個(gè)其實(shí)很簡單
你要得分,當(dāng)然需要設(shè)置“得分變量”,同時(shí),需要在最開始將得分設(shè)置為“0”
接下來就是錘子“打”,你仔細(xì)觀察就會發(fā)現(xiàn),“打”這個(gè)動作是X坐標(biāo)不變、Y坐標(biāo)往下(變小),程序如圖所示
這里對坐標(biāo)的控制還是比較有技巧,至于Y坐標(biāo)減多少,大家可以自己調(diào)試
這個(gè)時(shí)候,“打”的表面功夫算是完成了。那實(shí)際上,咱們需要打到地鼠上,讓地鼠“四分五裂”,還要得分。這里需要提醒一下的是,必須是“打”這個(gè)動作發(fā)出后,如果碰到了,才會得分。程序如圖所示
很顯然,只要碰到5只地鼠的任意一只,都得加分,所以是“或”的關(guān)系。計(jì)算機(jī)邏輯運(yùn)算的基礎(chǔ)運(yùn)算“或,且,非”我就不多說了
至于為啥得分以后要等待0.2秒呢?這是為了避免打一下得很多分的囧境。
得分還不行,還得讓地鼠“爛”
我們又要用到“廣播”,這里我們新建一個(gè)廣播“地鼠爛”
然后,在地鼠的腳本里加上如上圖所示的程序就可以了
有人說,不對啊,你這一加,意味著只要一只地鼠被打了,所有地鼠都會變“爛”
你要知道,只有隨機(jī)數(shù)對應(yīng)的地鼠會顯示出來,其他的都是隱藏了,所以爛又怎樣,反正看不見
最后,你加點(diǎn)音樂,以及地鼠被打之后發(fā)出點(diǎn)慘叫,就完成啦!
下面是這個(gè)案例的重要角色的源代碼
舞臺
地鼠
錘子
好了,這還是挺好玩的游戲,又簡單。通過做這個(gè)游戲還能學(xué)到很多關(guān)鍵的概念。除了概念,還有一些提升游戲效果的一些細(xì)節(jié)處理,其實(shí)游戲做的好壞,細(xì)節(jié)很重要,小朋友可以多花一些時(shí)間,用你所學(xué)到的各種技巧來提升游戲效果,讓游戲顯得更加逼真,好玩!
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除

- 上一篇
用Scratch+Python做一個(gè)聯(lián)網(wǎng)游戲
Scratch2有一個(gè)擴(kuò)展功能,可以讓Scratch和第三方應(yīng)用通過http連接起來,實(shí)現(xiàn)訪問網(wǎng)站數(shù)據(jù)、控制硬件等應(yīng)用。我們今天就使用這個(gè)擴(kuò)展,連接到一個(gè)用Python實(shí)現(xiàn)的網(wǎng)絡(luò)服務(wù),來做一個(gè)聯(lián)網(wǎng)游戲。希望大家能通過今天的學(xué)習(xí)了解一些網(wǎng)絡(luò)編程的基本知識,以及知道要做出一個(gè)比較復(fù)雜的系統(tǒng)要
- 下一篇
【教育素材】了解Scratch編程軟件的功能區(qū)
? ? ? ?本節(jié)課,了解scratch編程軟件的功能區(qū),共分三個(gè)功能區(qū),分別為前舞臺區(qū),后舞臺區(qū),編輯區(qū)。 ? ? ? ?后舞臺區(qū)分為舞臺場景,角色。 ? ? ? ?后舞臺區(qū)的每個(gè)舞臺場景和每個(gè)角色都可以在前舞臺區(qū)顯示,也可以在編輯