竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現在的位置是:首頁 » scratch編程資訊

資訊內容

Scratch第四十八講:制作冰激凌

極客小將2020-11-26-
———— / 作品賞析 / ———— 之前在18講的時候,有給大家做了一個作品賞析,后來有學員提出來,想了解這個程序怎么做的,那么今天CC哥在這里給大家專門講一下這個小程序。(本游戲代碼來自官網,非原創)

———— / 作品賞析 / ————

之前在18講的時候,有給大家做了一個作品賞析,后來有學員提出來,想了解這個程序怎么做的,那么今天CC哥在這里給大家專門講一下這個小程序。(本游戲代碼來自官網,非原創)

https://cdn.china-scratch.com/timg/191106/155343L38-0.gif

這個小游戲并不難,就是用一個空格鍵操作,按住空格鍵不放,冰激凌就變大,松手,冰激凌就落下來,每次放的冰激凌球必須比上一個小,否則冰激凌塔就會倒下來。程序雖然不難,但是美工和創意,尤其是所有的細節都是很不錯的,下面CC哥帶大家一起欣賞一下。

程序的邏輯不復雜,那么咱們就按照執行的步驟一步一步來看啦。

首先先看看有幾個角色,每個角色有幾個造型。

upload/article/images/2020-11-26/c947c5420972881325c95645e7f0c9ec.jpg

程序一共有5個角色,第一個肯定是冰激凌的球了,第二個是冰激凌筒,第三個是游戲字幕,第四個是開場圖片,第五個是用來選擇游戲難度的。

upload/article/images/2020-11-26/201aaf09456864e59cdfbf0924f8c3f5.jpg

這是個日本人做的游戲,CC哥不懂日文,所以大家以后沒事寫程序如果要走國際路線,一定要用英文哦,否則復雜的游戲實在沒法看哦https://cdn.china-scratch.com/Public/Home/images/grey.gif

1:先從開場畫面看起吧:

upload/article/images/2020-11-26/11c585c8f75c1875604b7fbdd009cad9.jpg

這是游戲的封面,停留0.5秒就逐漸消失。腳本也很簡單:

upload/article/images/2020-11-26/7ad14e7ebb9792b7d0002c77a9a0f4f8.jpg

2:顯示游戲菜單

upload/article/images/2020-11-26/1a694e197f30a26e30ee15dc8f2e26eb.jpg

這個游戲菜單涉及了兩個角色,一個是游戲的文字角色,一個是small,medium,large的按鈕菜單。

文字這個角色主要是用來控制在不同的時刻顯示不同的背景文字。這角色的代碼除了處理好文字的顯示和隱藏,同時還處理了游戲結束之后的得分顯示部分,代碼后面再提。

重點講一下按鈕的代碼。

upload/article/images/2020-11-26/9917e19a71b37d63f4aa7d54a5a701d7.jpg

雖然有三個按鈕,但是只用了一個角色,克隆的技巧。同時這里面還用了一個私有變量的技巧,就是其中***ID這個變量是個只屬于本角色的變量。(變量也用日本字https://cdn.china-scratch.com/Public/Home/images/grey.gifhttps://cdn.china-scratch.com/Public/Home/images/grey.gif)。

upload/article/images/2020-11-26/201aaf09456864e59cdfbf0924f8c3f5.jpg

私有變量的用法,是在每次克隆完,都會對私有變量進行重新賦值,那么也就是每一個克隆體的私有變量的值都是不同的。當我們在進行偵測時,比如當角色被點擊這個事件所對應的代碼中,我們就可以用這個不同的變量值來對應不同的操作。在這個程序里,不同的私有變量值就對應了不同的冰激凌筒的大小。

upload/article/images/2020-11-26/79ae173ea02031c5ceac5cdb7263c010.jpg

這個ID乘以50+150就是冰激凌筒的大小。

3:選擇冰激凌筒的大小后顯示:

upload/article/images/2020-11-26/ab664f848dc353d69add4c1ddb33f6e6.jpg

我們看一下冰激凌筒的代碼和造型:

upload/article/images/2020-11-26/c905b85b2c91167a9df03eee7bd4a2bc.jpg

upload/article/images/2020-11-26/1dd7567d4601c0c9e7fcc159077a6921.jpg

當程序開始時,把冰激凌筒隱藏起來,造型顯示冰激凌筒的造型。當收到開始的消息的時候,把筒的大小設置成根據之前按鈕算出來的大小,加個10的目的是為了筒比最大的冰激凌球還要大一點吧。(這個程序員好細致https://cdn.china-scratch.com/Public/Home/images/grey.gif

最厲害的就是最下面這段代碼!讓CC哥也佩服不已!https://cdn.china-scratch.com/Public/Home/images/grey.gif

不得不說,多看一些程序是能學到一些竅門。這段代碼的目標很簡單,就是處理當冰激凌多的時候冰激凌筒下移的過程。

https://cdn.china-scratch.com/timg/191106/1553492614-17.gif

看出神奇了沒?有沒有注意到冰激凌筒慢慢的徹底下移到了屏幕之外?!CC哥看到這里差點沒一口血噴出來!我做了這么多程序,一直沒有辦法讓一個角色完全移除屏幕之外!這個哥們怎么實現的?!?

upload/article/images/2020-11-26/756d48f18b958cc38978c6fef98a3064.jpg

仔細閱讀了這個兄弟的程序,原來技巧在這里。他在角色下降的過程中不斷地切換角色造型,然后就實現了這個下移出屏幕的效果。同時下移的過程只顯示筒的造型,而且沒有造型切換的閃爍。https://cdn.china-scratch.com/Public/Home/images/grey.gif?為此CC哥馬上用scratch3來做了驗證。事實上確實可行。

正常來講,如果只是單純的通過降低y的坐標來下移角色,不論如何做,不論你的角色造型初始位置放的如何靠下,在下移到一定程度后,角色總留一部分在屏幕上沒法完全下移到屏幕外。但是如果你用了這位兄弟的方法,就可行了!大家自己試試。當然,也不是無限下移的,大家需要調節一下角色的大小和在造型里的初始位置。至于是什么原理,CC哥也沒看scratch的源代碼,所以不知道bug出在哪里。反正大家掌握這個小技巧就OK啦!https://cdn.china-scratch.com/Public/Home/images/grey.gifhttps://cdn.china-scratch.com/Public/Home/images/grey.gif

4:制作冰激凌

這個游戲的輸贏的關鍵就是每次制作的冰激凌球一定要比上一個小一點,這樣才能疊上去,如果一旦比上一個球大,那么就會跌落下來,游戲也就結束了。制作冰激凌的代碼都在冰激凌的角色里。

https://cdn.china-scratch.com/timg/191106/15534aR4-22.jpg

冰激凌的代碼很多,我們一部分一部分來看:

https://cdn.china-scratch.com/timg/191106/155350Cb-23.jpg

冰激凌一個一個往下落也是才用了克隆的技巧。

‘’克隆OK?‘’這個變量是用來判斷一個冰激凌處理的過程是否結束。如果這個變量等于1,才準許克隆操作,也就是準許開始下一個冰激凌球的制作過程。另外‘’克隆‘’這個變量是角色的私有變量,程序里設置這個變量主要是想區分克隆體與本體的區別,也就是在執行某些操作的時候,只會涉及到克隆體,而不會涉及到本體。(在scratch里面經常用一些變量來表示狀態,通過狀態的判斷來控制程序的運行路徑或執行對象的選擇)

克隆體啟動的代碼(分步看):

https://cdn.china-scratch.com/timg/191106/15535015G-24.jpg

這部分是任意選一個冰激凌的造型,然后顯示出來,同時把“克隆ok?”的變量設置為0,表明一個冰激凌球的制作過程開始。在沒有處理完成前禁止再克隆新的冰激凌球。

同時在按下空格鍵前停止所有操作,一直等待你按下空格鍵。

https://cdn.china-scratch.com/timg/191106/15535010F-25.jpg

這段代碼就是空格鍵按下的過程,也就是關鍵的制作冰激凌球大小的過程,我們知道,如果你按的時間太長,冰激凌大小大于上一個球的大小,游戲就會輸了。如果你按的太短,球太小,那么后面的冰激凌就不好做了。

第一個球的時候需要做個判斷,判斷筒的大小,如果是大號,就是球不能超過300,如果是小的,球不能超過200。如果不是第一個球,那么統一最大不能超過300.

https://cdn.china-scratch.com/timg/191106/1553504561-26.jpg

把球的大小值存下來(這個大小是角色的私有變量,也就是克隆體的大小,每一個克隆體都是不一樣的),同時讓球往下落,在碰到黑色的時候停止下落。(注意下所有的角色都有一層黑色的邊,這不光是為了好看,而是關鍵用來做碰撞判斷的。)

https://cdn.china-scratch.com/timg/191106/1553512557-27.jpg

這段程序是指當第一個球落下時,并不是碰到冰激凌筒就停止,而是要繼續下落一段距離,讓球落入到筒里一部分。

https://cdn.china-scratch.com/timg/191106/15535211K-28.jpg

這部分程序是判斷如果當前做的冰激凌球比上一個的大小,如果比上一個大,那么就開始了掉落筒外的程序:

https://cdn.china-scratch.com/timg/191106/1553526426-29.jpg

掉落前先開始在頂端做來回晃動。

https://cdn.china-scratch.com/timg/191106/1553535535-30.jpg

這是一段跌落程序,球向右側跌落。跌落的過程還是用了前面講的技巧,讓球能夠完全跌落到屏幕之外。同時通過”y移動”這個變量,讓球跌落的速度逐步加快。跌落的過程x方向不斷的向右勻速移動。

https://cdn.china-scratch.com/timg/191106/155353J28-31.jpg

跌落完畢后,就發布了“游戲結束”的消息。(我查了翻譯https://cdn.china-scratch.com/Public/Home/images/grey.gif

https://cdn.china-scratch.com/timg/191106/155354F39-33.jpg

如果球沒有上一個大,那么就將球數增加1,把這個球的大小記錄下來,做下一次比較用。

先對冰激凌的高度做個判斷,如果球的位置有點高了,那么就整個冰激凌都向下移動。(下移通過廣播“下移”來實現)如果高度還夠用,那么就將克隆ok?的變量設定為1,開始下一個球的制作過程。

下移過程

https://cdn.china-scratch.com/timg/191106/15535442W-34.jpg

冰激凌下移的過程,先檢測是否是克隆體,如果是克隆體再進行下移操作(本體不下移)。下移的過程也是用了前面的技巧,確保每一個冰激凌都移到屏幕之外再消失。移動結束后,再將“克隆ok”的變量設定成1,準許制作下一個冰激凌球。

關于最后一個角色,顯示文本和得分的角色,我就不介紹了,相對簡單,大家自己看吧。

https://cdn.china-scratch.com/timg/191106/155355GY-35.jpg

https://cdn.china-scratch.com/timg/191106/155355K35-36.jpg

聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 性视频网 | 天堂在线中文 | 日韩av电影在线播放 | 国产一区二区三区四区三区四 | 日韩一区二区三区在线播放 | 久久精品国产久精国产 | 久久人久久 | 精品视频首页 | 日韩欧美国产一区二区三区 | 国产精品一区二区不卡 | 成人午夜影院 | a级片一级片 | 精品久久久久久久久久久院品网 | 17婷婷久久www | 欧美三级免费网站 | 色九九九 | 欧洲亚洲一区二区三区四区五区 | 中文字幕免费播放 | 日韩av成人在线 | 美女视频黄 | 国产在线日韩 | 国产激情视频 | 国产精品久久久久久影视 | 中文字幕三区 | 国产亚州av | 91精品国产91久久久 | 亚洲aav | 久久午夜视频 | 欧美日韩高清一区 | 狠狠夜| 精品久| 亚洲欧洲日韩av | 国产精品免费视频观看 | 日本视频一区二区三区 | 精品一区久久久 | 不卡在线一区 | 国产视频一区在线播放 | 日本a视频| 精品综合网 | 国产电影在线 | 精品国产一区二区三区久久久久久 |