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

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

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

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

添加小球角色

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

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

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

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

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

小球運動
游戲控制完成后,那么我們需要在“小球”中,加上邏輯,當“小球”接收到廣播“開始游戲”時,“小球”就開始運動起來。所以我們在“小球”中,加入下面的代碼:

這個時候,我們按下“空格”鍵,“小球”是不是就開始運動了呢?似乎出了點問題,“小球”動不起來。
是因為“小球”目前是像左運動的,所以一會兒就碰到邊緣了,所以我們要調(diào)整一下“小球”的發(fā)射角度,把它設(shè)置為0度吧。

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