資訊內(nèi)容
少兒編程Scratch第九講:小貓?zhí)?較完整的跳躍運(yùn)動(dòng)
目的
目的:跳躍是很常用的游戲功能。不少游戲都是通過(guò)跳動(dòng)前進(jìn)、躲避障礙物,獲取得分。這一次我閱讀了Scratch上關(guān)于跳躍的說(shuō)明和舉例。以此為藍(lán)本,由淺入深,練習(xí)各種跳躍運(yùn)動(dòng)。
適用對(duì)象:適合有一定編程和數(shù)學(xué)基礎(chǔ)的用戶,例如一二年級(jí)學(xué)生。通過(guò)之前約10次的練習(xí),一年級(jí)學(xué)生能夠獨(dú)立完成本課程中多數(shù)功能,或者在家長(zhǎng)指引下完成練習(xí)。
本游戲共享在:https://scratch.mit.edu/projects/216224542/
實(shí)現(xiàn)方式
本程度使用簡(jiǎn)單的貓咪角色,同時(shí)在屏幕最下方放置一紅線,即地板。通常的跳躍是要在一定的物體上才能跳躍,例如地面、某個(gè)運(yùn)動(dòng)的擋板上。空中的跳躍一般稱為飛翔。當(dāng)然開(kāi)始的時(shí)候,也可以隨意跳動(dòng),并且跳動(dòng)的速度完全相同。在現(xiàn)實(shí)世界中,人跳起來(lái)的時(shí)候,因?yàn)槭艿街亓Φ挠绊懀俣葧?huì)逐漸減小直到為零,然后落下,落下的過(guò)程中,速度不斷增加,達(dá)到地面的時(shí)候,停止。除了垂直的跳動(dòng)以外,還可能是往前躍進(jìn)的跳動(dòng)(跳遠(yuǎn))。
參考文檔:https://en.scratch-wiki.info/wiki/Jumping
少兒編程-Scratch
·?????少兒編程Scratch第八講:變量和太空大戰(zhàn)(2018/4)
·?????少兒編程Scratch第七講:字母雨打字練習(xí)(2018/3)
·?????少兒編程Scratch第六講:抽獎(jiǎng)游戲之造型、隨機(jī)和廣播(2018/2)
·?????少兒編程Scratch第五講:練習(xí)一坐標(biāo)和移動(dòng)(2018/1)
·?????少兒編程Scratch第四講:射擊游戲的制作,克隆的奧秘(2018.01)
·?????少兒編程Scratch第三講:宇宙大戰(zhàn).槍戰(zhàn)游戲(2018.01)
·?????? 少兒編程Scratch第二講:奇妙的接球小游戲(2018.01)
·?????? Scratch第一講:Scratch完美的初體驗(yàn)(2018.01)
下面描述幾種跳動(dòng)方式。
一、最簡(jiǎn)單的跳躍方式
點(diǎn)擊數(shù)字0,小貓?zhí)鴦?dòng)一定的距離,然后停留一小會(huì),落下。上升和下降都是“瞬間位移”的,即立即改變位置。并且在任何地方都可以跳動(dòng)。
測(cè)試這種跳躍方式,然后提出問(wèn)題:我們的實(shí)際跳動(dòng)果真是如此的嗎?是瞬間跳到最高處嗎?當(dāng)然明顯不是這樣,因此需要繼續(xù)改進(jìn)。
二、勻速跳躍
實(shí)現(xiàn)往前跳躍,即上前方跳動(dòng),并且落下。勻速上升和下降。
-
程序開(kāi)始時(shí),將小貓咪移動(dòng)到左下角,等待跳動(dòng)。
-
點(diǎn)擊上箭頭,小貓?zhí)鴦?dòng)往上跳動(dòng),跳動(dòng)過(guò)程中,循環(huán)16次,每次Y軸增加10,同時(shí)X軸增加2。這實(shí)現(xiàn)了勻速的上升跳躍,和之前的“瞬間位移”好了一些。讓小孩思考人的實(shí)際跳躍運(yùn)動(dòng)是怎么樣的。往前跳躍是小孩想出來(lái)的,這比較符合實(shí)際。
-
跳到最高點(diǎn),可以停留零點(diǎn)幾秒,然后開(kāi)始下降。小孩提出想法,到達(dá)最頂端后翻一個(gè)跟斗,因此重復(fù)執(zhí)行10次,每次右轉(zhuǎn)36°,即旋轉(zhuǎn)360度。
-
下降過(guò)程和上升過(guò)程相同,循環(huán)16次,每次Y軸增加-10,同時(shí)X軸增加2。開(kāi)始的時(shí)候設(shè)置為X軸增加-2,下降過(guò)程中,又回到原點(diǎn)了。這不符合常理。小貓?jiān)谔鴦?dòng)過(guò)程中,一直往前走,因此X軸一直都在增加。
-
小貓往右跳動(dòng),快到邊緣時(shí)重新返回到最左邊,否則就跳出屏幕了。這個(gè)功能很早就熟練了。
-
跳動(dòng)之前和落地之后,更換了一次造型。如果造型合適,能夠?qū)崿F(xiàn)落下后下蹲然后站起的效果。
改進(jìn):如果熟練,這里也可以引入變量,例如通過(guò)循環(huán)次數(shù)、單詞循環(huán)Y軸位移變量,決定跳躍的高度。
三、勻速跳躍2
實(shí)現(xiàn)往前跳躍,即上前方跳動(dòng),并且落下。勻速上升和下降,但上升和下降的速度不同。
按下數(shù)字1,實(shí)現(xiàn)跳躍,實(shí)現(xiàn)方法同上,僅是下降的時(shí)候速度比上升的速度低,差異較大時(shí)能感覺(jué)到漂浮下降的過(guò)程。同時(shí)小孩選擇了,反向翻跟斗。這個(gè)翻跟斗是小孩自己想出來(lái)的,做出來(lái)以后,讓三歲小妹妹玩了玩,引起了一片笑聲。
?
四、從地面上勻速跳躍
功能和第二類似,但增加了地面的判斷,只有在地面上才能跳躍,在空中不能跳躍。
-
增加一條紅線的角色,放在屏幕最下方,模擬地面。即小貓只有碰到這條紅線才允許跳躍。
-
點(diǎn)擊數(shù)字2,同時(shí)判斷是否碰到某個(gè)角色或某個(gè)顏色,只有滿足這兩個(gè)條件才能跳躍,否則不能跳躍。在“偵測(cè)”中,有碰到某個(gè)角色,或碰到某種顏色的指令。
-
為了測(cè)試離開(kāi)地面后小貓無(wú)法跳動(dòng),增加上移和下移的操作,按A上移,按Z下移。測(cè)試的時(shí)候,將按鍵1的無(wú)地板判斷的跳躍和按鍵2帶地板判斷的跳躍進(jìn)行比較。
五、加速跳躍(考慮重力)
功能和第二類似,但更改了速度。小貓?jiān)谏仙S過(guò)程中,速度逐漸減小,直到速度為零。到達(dá)最高點(diǎn)以后,下降,速度逐步加快。因此看起來(lái),就比較符合現(xiàn)實(shí)場(chǎng)景了。
?
-
為了便于控制,引入了y軸的速度變量。
-
點(diǎn)擊數(shù)字3,跳動(dòng)時(shí),速度設(shè)定為15,即每次Y軸增加15,然后Y軸速度增加-0.5.重復(fù)執(zhí)行30次。到達(dá)頂部的時(shí)候速度已經(jīng)為零。
-
到達(dá)頂部的時(shí)候,停留0.1秒。
-
下降的時(shí)候,將Y的速度增加0.5,即Y坐標(biāo)的每次增加值為0.5的倍數(shù)。實(shí)現(xiàn)加速下降的功能。
六、兩次連續(xù)跳躍(考慮重力)
功能上面帶重力的跳躍類似,只是這里實(shí)現(xiàn)了連續(xù)跳兩次的功能,每次的高度相同。
?
-
為了便于控制,程序塊-積木。在積木中實(shí)現(xiàn)跳躍代碼,帶重力功能。這樣能夠減少主程序的代碼量。
-
點(diǎn)擊數(shù)字4,調(diào)用一次積木,然后接著再調(diào)用一次積木。實(shí)現(xiàn)兩次跳躍。
七、多次連續(xù)跳躍(考慮重力,高度逐步降低)
功能與上面兩次跳躍類似,這里實(shí)現(xiàn)了多次跳躍的功能,每次的高度逐步降低。通過(guò)這種方式,能夠模擬扔皮球的動(dòng)作。即往上前方拋球,球往前彈起,然后落下,高度逐漸降低。
?
-
依然使用了積木塊,增加了高度的變量。
-
-
點(diǎn)擊數(shù)字5,設(shè)定跳躍高度,然后調(diào)用一次積木,然后再設(shè)置一個(gè)跳躍高度,再調(diào)用一次積木。這里跳了五次,高度從30,20,10,5,3。如果水平好一些,可以多加一個(gè)循環(huán)進(jìn)行處理。
上面列了7種跳躍方式,通過(guò)這節(jié)課,對(duì)跳躍應(yīng)該比較好理解了。
?
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除

- 上一篇
兒童編程課堂——用scratch做一個(gè)賽車小游戲
??????? 向大家展示用Scratch創(chuàng)建一個(gè)遙控賽車小游戲,通過(guò)按上移鍵,下移鍵,左移鍵,右移鍵遙控小汽車行駛,當(dāng)小汽車碰撞到賽道邊緣,小汽車回到起始位置。 ??????? 這個(gè)游戲用到了角度,方向,坐標(biāo)的知識(shí),通過(guò)偵測(cè)與判斷來(lái)實(shí)現(xiàn)以上的功能。
- 下一篇
研修論壇 | “同課異構(gòu)”聽(tīng)課隨錄
展現(xiàn)獨(dú)立思想? 博采百家眾長(zhǎng) 匯集涓涓細(xì)流? 共向遼闊海洋 【點(diǎn)擊上方藍(lán)字關(guān)注白珍名師工作室】