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

天才領(lǐng)路者

歡迎您!
朋友圈

400-850-8622

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

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

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

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

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

怎樣用scratch制作跳一跳

?

怎樣用scratch制作跳一跳 ?

分解目標(biāo): ?

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

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

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

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

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

制作中的那些坑: ?

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

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

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

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

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

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

?

用scratch制作跳一跳的步驟 ?

準(zhǔn)備工作: ?

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

制作步驟: ?

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

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

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

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

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

5.改變?cè)煨停黾佑?jì)分變量,跳躍成功+1分,如果落在盒子中心+2分。 ?

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

用scratch制作跳一跳的思路 ?

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

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

3.蓄力時(shí)間越長(zhǎng),跳躍者跳的越高,盒子移動(dòng)的距離越大; ?

4.建立變量來(lái)計(jì)算分?jǐn)?shù); ?

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