天才教育網(wǎng)合作機(jī)構(gòu)>

天才領(lǐng)路者

歡迎您!
朋友圈

400-850-8622

全國統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:學(xué)校資訊 > 總算懂得怎樣用scratch制作跳一跳

總算懂得怎樣用scratch制作跳一跳

日期:2019-08-16 16:00:21     瀏覽:1446    來源:天才領(lǐng)路者
核心提示:跳一跳是微信的一個小游戲,依靠操作小人蓄力跳躍進(jìn)行游玩。按照小人跳躍盒子的數(shù)量,以及特殊盒子加分項計算得分。

跳一跳是微信的一個小游戲,依靠操作小人蓄力跳躍進(jìn)行游玩。按照小人跳躍盒子的數(shù)量,以及特殊盒子加分項計算得分。今天給大家分享了怎樣用scratch制作跳一跳,趕緊來看看吧! ?

怎樣用scratch制作跳一跳

?

怎樣用scratch制作跳一跳 ?

分解目標(biāo): ?

*階段:實現(xiàn)當(dāng)鼠標(biāo)按下的時候“小人”能夠發(fā)生形變蓄力,同時有聲音特效。 ?

第二階段:松開鼠標(biāo)聲音停止,“小人”跳出去,根據(jù)蓄力的時間長短控制“小人”跳的遠(yuǎn)近。 ?

第三階段:“小人”跳躍成功的判斷。 ?

第四階段:盒子的處理,“小人”在成功跳躍到下一個盒子上時,盒子與“小人”能夠同時向左側(cè)移動,然后再出現(xiàn)下一個盒子,然后這樣一直重復(fù)下去。 ?

第五階段:計分,跳躍成功+1分,如果落在盒子中心+2分。 ?

制作中的那些坑: ?

*階段的目標(biāo)相對比較簡單,“小人”有多個造型,在鼠標(biāo)按下的時候,讓“小人”的造型按順序切換,即實現(xiàn)了形變的效果。那么這個過程中有一個小坑,不是所有時間只要按下鼠標(biāo)就要讓“小人”變形,比如我們開始運(yùn)行時就要點(diǎn)擊綠旗,此時肯定不能去執(zhí)行形變;“小人”在空中跳躍時點(diǎn)擊鼠標(biāo)也是不被允許的。同時執(zhí)行的另一個工作就是在“小人”發(fā)生形變的同時要播放音樂,鼠標(biāo)松開要停止這一切。因此這里我使用了一個“music”變量,通過對這個變量的改變來控制音樂。 ?

下來進(jìn)入第二階段,相對沒有什么難度,跳躍分為兩個步驟,起跳:同時改變x,y坐標(biāo),實現(xiàn)向上向右的移動,下落同理。跳的遠(yuǎn)近可以在*步根據(jù)鼠標(biāo)按下的時間長短(music變量有個變化)來作為一個參考值。 ?

第三階段:跳躍成功判斷,首先我們要有第二個落腳點(diǎn),思路很簡單,在開始的時候克隆一個盒子,隨機(jī)放在同一水平位置。如果克隆體碰到“小人”,成功;否則失敗。這里又遇到一個問題,一開始就提示失敗,因為此時“小人”還沒跳,自然不會碰到克隆體。因此又需要一個變量“status”,來判斷“小人”是起跳前還是起跳后。只有在起跳下落后再進(jìn)行判斷成功失敗。貌似問題這么容易就解決了,但是忽略了一個問題,如果“小人”起跳下落后還在起始的那個盒子上,這樣既不能說成功,不能得分,也不能算失敗。于是乎我又增加了一個判斷條件,判斷“小人”與盒子(非克隆體)是否接觸。新建變量“接觸到本身判斷”在下落后先判斷與母體的接觸,如果接觸到母體,不再進(jìn)行與克隆體的判斷。 ?

第四階段:“小人”終于完成了*步的大跳躍,下來我們要把克隆體的盒子和“小人”一起向左側(cè)移動,再克隆一個新盒子,如此一直重復(fù)下去。克隆體移動很簡單,直接移動到母體盒子的初識位置即可,“小人”需要同步移動,這里首先要使用一個變量“克隆體x坐標(biāo)”用它來記錄克隆體位置的x坐標(biāo),便于計算出“小人”要往左移動的距離,得到終點(diǎn)坐標(biāo),讓“小人”移動過去;母體在在克隆體移動的同時也左移,如果碰到邊緣就隱藏。 ?

目前看似一切都比較順利,但是不知不覺又入了另一個坑,當(dāng)成功完成*次跳躍后,進(jìn)行第二次跳躍判斷時問題來了,此時“小人”就在一個克隆體盒子上,如何判斷跳躍到下一個克隆體上,還是落在了自身克隆體上?怎么區(qū)分兩個克隆體?此處嘗試了很多種辦法,最終都不理想,那么是時候改變思路了,既然無法區(qū)分兩個克隆體,那就只留一個克隆體,至少區(qū)別克隆體和母體還是可以做到的。于是乎,我修改了左移盒子的思路,左移開始的時候把母體盒子隱藏,克隆體移動到左側(cè),此時刪除掉克隆體,將母體切換到克隆體同一個造型(新建變量“克隆體造型”記錄克隆體的造型)顯示,這樣母體盒子就替代了之前的那個克隆體,肉眼是看不出來的,此時問題就解決了。 ?

*一步:增加計分變量,這里就比較簡單了,跳躍成功呢+1分,如果跳躍落點(diǎn)與克隆體盒子的中心點(diǎn)距離小于5我們就+2分。至此這個游戲基本上就完成了,后來我還增加了落到盒子邊緣的判斷,原理就是判斷落點(diǎn)與盒子中心的距離,也沒有什么難度。 ?

?

用scratch制作跳一跳的步驟 ?

準(zhǔn)備工作: ?

選擇角色及背景,主要包括跳一跳的主角,以及整個游戲的背景,以及成功或失敗時的音樂。 ?

制作步驟: ?

1. 我們首先要學(xué)會如何使角色移動。 ?

通過三個積木控制移動方向:連續(xù)按下上,左,右鍵后角色可移動10步。 ?

2. 游戲開始,需要一個變量“status”,來判斷“小人”是起跳前還是起跳后。只有在起跳下落后再進(jìn)行判斷成功失敗。新建變量“接觸到本身判斷”在下落后先判斷與母體的接觸,如果接觸到母體,不再進(jìn)行與克隆體的判斷。 ?

3. 移動到起步位置,要使用一個變量“克隆體x坐標(biāo)”用它來記錄克隆體位置的x坐標(biāo),便于計算出“小人”要往左移動的距離,得到終點(diǎn)坐標(biāo)。 ?

4. 重復(fù)執(zhí)行;角色object碰到了piayer發(fā)出聲音,并通過移動x軸坐標(biāo)來改變角色位置。 ?

5.改變造型,增加計分變量,跳躍成功+1分,如果落在盒子中心+2分。 ?

設(shè)計完成后需要先進(jìn)行測試,只需要達(dá)到跳一跳的游戲效果即可,例如角色通過上、下、左、右鍵移動,碰到object后object自動切換為角色或背景。 ?

用scratch制作跳一跳的思路 ?

1.玩家通過按空格鍵的持續(xù)時間來控制跳躍者的蓄力時間; ?

2.通過克隆及隨機(jī)數(shù)使盒子不斷出現(xiàn)在舞臺上; ?

3.蓄力時間越長,跳躍者跳的越高,盒子移動的距離越大; ?

4.建立變量來計算分?jǐn)?shù); ?

5.如果跳躍者成功落在盒子上,分?jǐn)?shù)加一。 ?