資訊內(nèi)容
Scratch打磚塊游戲課程(一)

喬布斯發(fā)明了打磚塊游戲
Breakout是世界上第一款打磚塊游戲,1976年由英寶格公司發(fā)行。游戲設(shè)計(jì)是后來創(chuàng)立蘋果電腦的史蒂夫·喬布斯與斯蒂夫·沃茲尼亞克兩人,程序設(shè)計(jì)是Brad Stewart。1978年公司發(fā)行第二代的Super Breakout。
在我們的圖形編程提升班中,會(huì)講到如何使用Scratch來制作打磚塊游戲,因?yàn)檎麄€(gè)游戲會(huì)較為復(fù)雜,涉及了部分物理知識(shí),所以會(huì)通過五次課的時(shí)間來完成這一款游戲。
下面介紹一下,第一節(jié)課的內(nèi)容:
使用Scratch制作打磚塊游戲
添加擋板角色

點(diǎn)擊“從角色庫中選取角色”的按鈕,添加“擋板”的角色。

添加了“擋板”的角色后,我們需要給“擋板”添加對(duì)應(yīng)的邏輯:
-
讓“擋板”在點(diǎn)擊綠色旗子后,移動(dòng)到屏幕下方。(Y坐標(biāo)軸固定一個(gè)數(shù)值)
-
讓“擋板”跟隨著鼠標(biāo)的X坐標(biāo)移動(dòng)。(把“擋板”的X坐標(biāo)設(shè)置為鼠標(biāo)的X坐標(biāo))
為了達(dá)到上面的效果,我們需要添加以下的代碼:

添加小球角色

“從角色庫中選取角色”中添加了小球角色后,我們需要給“小球”添加對(duì)應(yīng)的邏輯:
-
設(shè)定“小球”的大小。
-
讓“小球”和“擋板”同時(shí)跟隨著鼠標(biāo)移動(dòng)。(把“小球”的X坐標(biāo)也設(shè)置為鼠標(biāo)X坐標(biāo))
-
讓“小球”剛好出現(xiàn)在“擋板”的上方。(把“小球”Y坐標(biāo)設(shè)置為“擋板”的Y坐標(biāo),并且添加大約16左右的數(shù)值,避免兩者出現(xiàn)重疊的bug)
為了達(dá)到上面的效果,我們需要添加以下的代碼:

雖然通過上面的代碼,已經(jīng)達(dá)到了我們想要的效果了,但是如果我們希望整個(gè)程序里代碼的邏輯變得更清晰易懂,我們這里就介紹一個(gè)新的模塊,叫“更多積木”。
我們新建一個(gè)“更多積木”,并且命名為“跟蹤鼠標(biāo)”,然后把相應(yīng)的邏輯放在這個(gè)模塊中:

小球發(fā)射
添加“游戲控制”角色
目前我們已經(jīng)把關(guān)鍵的兩個(gè)角色添加進(jìn)來了,接下來我們需要做的就是他們的邏輯。
好,我們現(xiàn)在先讓小球發(fā)射出來吧。
首先,我們添加一個(gè)角色去控制游戲的流程,我們稱之為“游戲控制”。
在這個(gè)角色里面,我們隨便的畫一個(gè)圖形,長方形或者是圓形,都可以。

這個(gè)時(shí)候,我們就會(huì)發(fā)現(xiàn)在游戲界面里,就出現(xiàn)了一個(gè)圖形。但是我們這里并不需要顯示它,只需要它提供對(duì)應(yīng)的功能,所以我們點(diǎn)擊“游戲控制”角色左上方的感嘆號(hào)后,把“顯示”的勾選去掉即可。

創(chuàng)建“游戲控制”角色后,我們需要它完成兩個(gè)事情:
-
給小球添加一個(gè)“小球狀態(tài)”的變量,為0時(shí)表示發(fā)射小球,為1時(shí)表示運(yùn)動(dòng)中。
-
點(diǎn)擊小綠旗時(shí),把“小球狀態(tài)”設(shè)置為0。
-
點(diǎn)擊空格按鈕,廣播“開始游戲”,并且把“小球狀態(tài)”變量設(shè)置為1。
為了達(dá)到上面的效果,我們需要添加以下的代碼:

小球運(yùn)動(dòng)
游戲控制完成后,那么我們需要在“小球”中,加上邏輯,當(dāng)“小球”接收到廣播“開始游戲”時(shí),“小球”就開始運(yùn)動(dòng)起來。所以我們?cè)凇靶∏颉敝校尤胂旅娴拇a:

這個(gè)時(shí)候,我們按下“空格”鍵,“小球”是不是就開始運(yùn)動(dòng)了呢?似乎出了點(diǎn)問題,“小球”動(dòng)不起來。
是因?yàn)椤靶∏颉蹦壳笆窍褡筮\(yùn)動(dòng)的,所以一會(huì)兒就碰到邊緣了,所以我們要調(diào)整一下“小球”的發(fā)射角度,把它設(shè)置為0度吧。

好了,這節(jié)課的內(nèi)容我們根據(jù)上面的操作,就順利完成了。
end
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除
