資訊內(nèi)容
Scratch第四十五講:微信跳一跳(二)
這一講CC哥對跳一跳的程序進(jìn)行一下完善,主要是增加三種特效,以使這個(gè)程序更像微信中的小程序。
讓我們先看一下這三個(gè)特效是什么:
大家看到了吧,這三種特效分別是:
1:當(dāng)按下空格鍵的時(shí)候,跳棋周圍出現(xiàn)了一些小點(diǎn),向跳棋飛去,看上去很有積蓄能量的效果。
2:當(dāng)跳棋落到下一個(gè)臺子上時(shí),會(huì)有一個(gè)效果光圈擴(kuò)散開去。有一個(gè)落地的效果。
3:每成功一跳,跳棋旁邊就有一個(gè)得分的效果。
這個(gè)游戲是不是感覺效果更像微信里面的跳一跳啦?
讓我們來講一下這三個(gè)效果怎么做到的:
一:蓄能的小點(diǎn)點(diǎn)特效:


首先增加了一個(gè)角色來做這個(gè)特效。

角色的造型有兩個(gè),一個(gè)白點(diǎn),一個(gè)黑點(diǎn)。
這段代碼的設(shè)計(jì)邏輯和用到的命令主要是:
1:當(dāng)按下空格鍵之后,那么就在圍繞著跳棋的一定距離的區(qū)域,隨機(jī)產(chǎn)生一些小點(diǎn)。(方向,隨機(jī)數(shù),克隆)
2:這些小點(diǎn)產(chǎn)生以后,開始向跳棋移動(dòng)。(方向、移動(dòng))
3:當(dāng)空格鍵松開,或者小點(diǎn)碰到跳棋就消失。(條件判斷組合)
我們直接看一下代碼:

這段就是對小點(diǎn)的初始值進(jìn)行設(shè)定,大小合適,設(shè)置成半透明來增加效果。另外變量i是用來控制設(shè)置小點(diǎn)的數(shù)量。
下面這段程序是關(guān)鍵:

大家注意到?jīng)]有,我并沒有用事件里面的當(dāng)按下“空格鍵“的命令,為什么呢?

如果大家對這個(gè)有疑問,可以重新回看我之前最早的一講:Scratch第十三講:按鍵的技巧,在這一講里,CC哥專門講了按下一個(gè)鍵,跟長按一個(gè)鍵在scratch里面是有區(qū)別的。所以在這次的設(shè)計(jì)里面,我就用了長按的技巧。希望大家復(fù)習(xí)一下。
這段程序的循環(huán)里判斷兩個(gè)條件:第一空格鍵被按下,第二小點(diǎn)數(shù)量不超過10個(gè)。如果符合這個(gè)條件那么就在距離跳棋40~60步的這一圈內(nèi),隨機(jī)克隆10個(gè)小點(diǎn),黑白小點(diǎn)交替克隆。為了保證小點(diǎn)分布的隨機(jī)性,我們先讓小點(diǎn)每次在克隆前,先回到跳棋上,然后隨便在0~360度之間選一個(gè)方向,然后移動(dòng)到克隆區(qū)域內(nèi),進(jìn)行克隆。克隆完畢后還返回跳棋上,再重新選擇隨機(jī)方向,移動(dòng)然后克隆。

這一段程序如果用了按下空格的命令,就會(huì)出現(xiàn)各種各樣的錯(cuò)誤。CC哥自己做的時(shí)候一開始也忽略了,搞出一大堆bug。大家可以自己試試,看看為什么會(huì)出現(xiàn)這個(gè)錯(cuò)誤。

這部分程序就是每個(gè)克隆體出現(xiàn)后,向跳棋移動(dòng)的代碼。

CC哥也犯低級錯(cuò)誤,忘了放等待命令了,老看不到小點(diǎn)自己還奇怪了一下。我發(fā)現(xiàn)也有很多朋友在問問題的時(shí)候也老問這類問題,為什么我寫了代碼,但是執(zhí)行沒有反應(yīng)呢?90%都是忘了放等待命令啦
二:光圈的特效

這個(gè)CC哥也增加了哥角色。

角色的造型是CC哥用畫筆畫的,然后把白背景用scratch里面的繪圖效果處理掉了。


CC哥現(xiàn)在很多角色就自己順手做一下,其實(shí)也不用很復(fù)雜,一般畫筆和scratch造型里面自帶的一些工具就夠用了,只要細(xì)心點(diǎn)就行。用的最多的就是摳圖和去白背景,摳圖大家可以試試美圖秀秀,超級方便。有時(shí)間CC哥專門給大家做一講。

代碼不復(fù)雜,首先出現(xiàn)環(huán):
移動(dòng)到跳棋的位置。大小設(shè)定到合適的大小,用半透明來體現(xiàn)效果。
然后用循環(huán)來做漸變的特效。一是逐漸變大,二是逐漸變淡直到消失。
注意別忘了在循環(huán)里面放等待命令,否則你什么都又看不見了。
這段程序的關(guān)鍵是什么時(shí)候開始執(zhí)行。
也就是說需要用到消息和接收到消息的功能了,因?yàn)槲覀兪窃谔逄晒蟛艌?zhí)行效果,所以應(yīng)該放在跳棋角色的代碼里面,放在跳成功之后那一段命令中。

我們用了廣播并等待的命令,而不是廣播的命令,大家自己試的時(shí)候看看有什么區(qū)別。如果大家認(rèn)真看過CC哥每一講的話,應(yīng)該就知道區(qū)別。
三:得分的特效
這個(gè)相對簡單,首先做了個(gè)得分的角色。這個(gè)也是用造型工具里面文本功能直接寫的。

大家注意一下,這個(gè)角色的造型不能放在中心點(diǎn),要靠右上方,因?yàn)槟阆M谔暹吷铣霈F(xiàn)得分,而不是在跳棋上出現(xiàn)得分。

這個(gè)特效就是三部分:
1:逐漸變大。
2:逐漸向上走。
3:逐漸消失。
程序就不解釋了,別忘了放等待命令哦。
這個(gè)跟剛才一樣,就是在什么時(shí)候出現(xiàn),我把它放在了下一步起跳前出現(xiàn)。

好了,今天的講座就到這里,關(guān)鍵是大家學(xué)習(xí)的時(shí)候,不能光看一遍,如果有條件一定要照著思路自己做一遍。如果做的有問題,再參考CC哥的代碼看一看。編程就是同一個(gè)效果可以用很多方法實(shí)現(xiàn),所以不一定老師的就是最好的。經(jīng)驗(yàn)一定是要自己慢慢積累的.
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除
- 上一篇
雙語繪本-Something from Nothing 總會(huì)有辦法
關(guān)注“愛英語親子共讀“,更多故事等你讀 播種與收獲本就不在同一個(gè)季節(jié)。作為媽媽,我時(shí)刻提醒自己,只問耕耘,不問收獲。養(yǎng)成一個(gè)好習(xí)慣,每天進(jìn)步一點(diǎn)點(diǎn)! 錄制:Yimo(小學(xué)二年級),?Yona(媽媽)
- 下一篇
Scratch兒童編程是啥?附:入門案例詳解
作為一個(gè)“誤入歧途然后將錯(cuò)就錯(cuò)”的偽理工男來說,計(jì)算機(jī)編程是被大學(xué)專業(yè)逼著開始學(xué)的,接著讀研、畢業(yè)參加工作,由于工作原因(數(shù)據(jù)處理分析)不得不使用編程工具,畢竟幾句簡潔的計(jì)算機(jī)指令就能讓電腦沒日沒夜地干活,這種提高效率的工作方式,我們不用別人也會(huì)用。所以,不管喜不喜歡,中不中意,甜七爸這
