朋友圈

400-850-8622

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

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

如何用scratch做跳一跳

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

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

如何用scratch做跳一跳

?

如何用scratch做跳一跳 ?

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

在我開始打算做跳一跳的時候我并沒有把握能做出一個成品出來,因為它確實有一些難度,不過我還是打算試一試,即便是最終未完成我也會清楚我失敗的原因。于是我開始做了一個簡單的規(guī)劃,然后去一步步嘗試。 ?

分解目標: ?

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

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

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

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

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

制作中的那些坑: ?

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

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

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

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

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

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

總結(jié): ?

在遇到一個項目時不要盲目動手,先去思考,把項目進行功能拆分,羅列出來,先去動手解決你能完成的部分,然后在空余時間去思考那些比較困難復雜的環(huán)節(jié)(如果某個拆分的功能依舊復雜,嘗試著進一步拆分)??傊覀冃枰袆悠饋恚灰つ縿邮忠膊豢赏?,任何程序都是由小的功能組成的,今天的努力也許會給你明天的思考帶來靈感,更何況我們遇到了困難還可以去求助別人,如何向別人描述自己的問題也是一種表達能力的鍛煉。 ?

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

?

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

游戲思路。 ?

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

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

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

創(chuàng)建角色。 ?

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

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

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

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

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

創(chuàng)建分數(shù)變量。 ?

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

變量名稱為“游戲分數(shù)”。 ?

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

編寫游戲程序。 ?

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

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

最終游戲效果。 ?

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

用scratch制作跳一跳的步驟 ?

1. 我們首先要學會如何使角色移動。通過三個積木控制移動方向: ?

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

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

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

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

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

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

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