朋友圈

400-850-8622

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

位置:北京平面設(shè)計(jì)培訓(xùn)資訊 > 北京廣告設(shè)計(jì)培訓(xùn)資訊 > 如何用scratch做跳一跳

如何用scratch做跳一跳

日期:2019-08-17 12:32:26     瀏覽:700    來源:天才領(lǐng)路者
核心提示:Scratch是一款很趣的少兒編程軟件,利用搭積木的方式來實(shí)現(xiàn)編程開發(fā),既便于用戶理解,又簡(jiǎn)化了編程的中的語法問題。今天給大家分享了如何用scratch做跳一跳,趕緊來看看吧!??如何用scratch做跳一跳?首先我想告訴大家這并不是一個(gè)制

Scratch是一款很趣的少兒編程軟件,利用搭積木的方式來實(shí)現(xiàn)編程開發(fā),既便于用戶理解,又簡(jiǎn)化了編程的中的語法問題。今天給大家分享了如何用scratch做跳一跳,趕緊來看看吧! ?

如何用scratch做跳一跳

?

如何用scratch做跳一跳 ?

首先我想告訴大家這并不是一個(gè)制作教程,因?yàn)樗鼘?duì)于小朋友來說還是很有難度的,那么我分享的主要目的就是希望大家在面對(duì)一個(gè)比較有挑戰(zhàn)的項(xiàng)目時(shí)該如何應(yīng)對(duì),通過這樣一個(gè)具體的例子來說一說我是如何開始并一步步做出這個(gè)游戲的,如果你也對(duì)這個(gè)游戲感興趣,也許你會(huì)做出更好的效果。 ?

在我開始打算做跳一跳的時(shí)候我并沒有把握能做出一個(gè)成品出來,因?yàn)樗_實(shí)有一些難度,不過我還是打算試一試,即便是最終未完成我也會(huì)清楚我失敗的原因。于是我開始做了一個(gè)簡(jiǎn)單的規(guī)劃,然后去一步步嘗試。 ?

分解目標(biāo): ?

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

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

第三階段:“小人”跳躍成功的判斷【情況較多,難度大】 ?

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

第五階段:計(jì)分,跳躍成功+1分,如果落在盒子中心+2分【簡(jiǎn)單】 ?

制作中的那些坑: ?

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

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

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

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

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

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

總結(jié): ?

在遇到一個(gè)項(xiàng)目時(shí)不要盲目動(dòng)手,先去思考,把項(xiàng)目進(jìn)行功能拆分,羅列出來,先去動(dòng)手解決你能完成的部分,然后在空余時(shí)間去思考那些比較困難復(fù)雜的環(huán)節(jié)(如果某個(gè)拆分的功能依舊復(fù)雜,嘗試著進(jìn)一步拆分)??傊覀冃枰袆?dòng)起來,不要盲目動(dòng)手也不可望而生畏,任何程序都是由小的功能組成的,今天的努力也許會(huì)給你明天的思考帶來靈感,更何況我們遇到了困難還可以去求助別人,如何向別人描述自己的問題也是一種表達(dá)能力的鍛煉。 ?

很多人抱怨scratch功能有缺陷,但我想說的是這是一個(gè)給孩子使用的工具,畢竟不是為了培養(yǎng)孩子的程序代碼能力,重要的是鍛煉孩子的思維邏輯能力,解決問題的能力。解決問題可以借助各種強(qiáng)大的工具,也可以通過思考利用有限的工具創(chuàng)造出奇跡。正式有了各種局限才讓它更具魅力,它會(huì)激發(fā)你不斷去思考,不斷去嘗試。 ?

?

scratch如何編寫跳一跳游戲腳本 ?

游戲思路。 ?

判斷恐龍是否接觸到障礙物。 ?

如果跳過障礙物,則游戲加分。(跳過鍵盤控制跳躍) ?

如果接觸到障礙物,則游戲結(jié)束。 ?

創(chuàng)建角色。 ?

從圖片庫,挑選一只恐龍角色,并將其名稱改為“恐龍”。 ?

挑選一個(gè)物品,作為障礙物角色,并將其名稱改為“障礙物”。 ?

創(chuàng)建結(jié)束背景。 ?

在舞臺(tái)背景里,新建一個(gè)背景,輸入文字“Game Over”游戲結(jié)束字樣。 ?

并將兩個(gè)背景的名稱分別改為“游戲進(jìn)行”“游戲結(jié)束”。 ?

創(chuàng)建分?jǐn)?shù)變量。 ?

在角色的“程序”界面,找到“數(shù)據(jù)”,鼠標(biāo)點(diǎn)擊“建立一個(gè)變量”。 ?

變量名稱為“游戲分?jǐn)?shù)”。 ?

這個(gè)變量是用于記錄游戲成績的。 ?

編寫游戲程序。 ?

恐龍控制程序:檢測(cè)到鍵盤的“空格鍵”按下時(shí),先跳起來,后落下。 ?

障礙物產(chǎn)生程序:每隔幾秒產(chǎn)生一個(gè)障礙物。接觸到恐龍,程序停止;沒有則加分。 ?

最終游戲效果。 ?

點(diǎn)擊“綠色旗子”開始游戲,按下“空格鍵”控制恐龍?zhí)^障礙物。 ?

用scratch制作跳一跳的步驟 ?

1. 我們首先要學(xué)會(huì)如何使角色移動(dòng)。通過三個(gè)積木控制移動(dòng)方向: ?

連續(xù)按下上,左,右鍵后角色可移動(dòng)10步,我們需要這樣搭積木: ?

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

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

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

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

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

如果本頁不是您要找的課程,您也可以百度查找一下: