hello,同學們,上節課我們學習了如何在scratch環境下,設置角色的名稱和變換角色的大小,大家還記得嗎,我們創建了一個叫:『淘淘』的小松鼠是不是,今天我們要學習一下如何計算淘淘的起跳高度和模擬重力加速度的效果,讓淘淘從河的這一邊跳到那一邊,let's go, 我們開始啦
首先,我們看一下這節課要學習的知識點,
動作區:將x坐標增加、將y坐標增加代碼塊

2、偵測區:碰到顏色代碼塊

我們最終的目標是想讓小松鼠跳過河并且不能跳得太遠,那樣會跳出舞臺區,也不能跳得太近,跳得太近就掉到河里了,淘淘跳躍的距離需要精確的計算,我們先來拆解一下我們要解決的三個問題,
1、淘淘跳躍效果實現
2、起跳的位置選擇
3、跳躍的距離計算
淘淘所在舞臺區的任意一個位置都對應唯一的一個坐標,這個知識點我們前面的課程里已經介紹過了,那么我讓淘淘的y坐標增加10次,再讓淘淘的y坐標減少10次,這樣淘淘是不是就完成了原地跳躍的效果呢,ok,那我們來試一下,
我們先從動作區里找到“將x坐標增加10”的代碼塊,點擊鼠標左鍵選中,不要松開鼠標左鍵,這是這個代碼塊就可以跟隨鼠標移動了,我們將這個代碼塊拖動到左邊的腳本區

重復上面的操作10次,再從控制區里拖動等待1秒的代碼塊出來,再拖動“將y坐標增加10”的代碼塊10次,將這些代碼組合在一起,請看下圖效果

大家注意一下,“將y坐標增加10” 這個代碼里的10是可以更改的,我們讓y坐標增加可以寫正數,同理我們想讓y坐標減少就可以把這個數字改成負數,所以上面的代碼老師把等待后的代碼塊里的數字改成了負數,讓淘淘的y坐標回到初始值,
下面我們來解決第二個問題,什么情況下觸發淘淘的起跳條件呢?我們把淘淘移動到這個位置,這時淘淘長長的耳朵碰到了藍色的河面了,

我們使用角色這個代碼塊,這個積木塊的意思是:如果角色碰到顏色的情況下,需要角色做哪些事情,這是一個條件觸發的機制,這里我們使用碰到藍色河面作為觸發淘淘起跳的條件,代碼實現是這樣的,

鼠標懸停在碰到顏色代碼塊的綠色框里點擊左鍵,這時鼠標指針會變為小手的狀態,移動鼠標位置則這個顏色框里的顏色會跟著鼠標移動而發生變化,我們把鼠標移動到藍色河面上時,這個顏色框將變為和藍色河面一樣的顏色,點擊一下鼠標左鍵則碰到顏色的條件就設置好了
跳躍的條件設置好了,接下來我們來看一下需要跳躍的距離怎么計算,

淘淘從起始位置x坐標為4,移動到終點位置x坐標為204,一共移動了200個點,則我們可以這樣設計代碼,讓淘淘在起跳拋物線的前半部分y坐標上升10次,后半部分下降10次相同的值,則y坐標回到原點,淘淘的y坐標每變化一次,x坐標增加10個點,淘淘的y坐標回到原點的時候x坐標增加了20次,則x坐增加了200個點,達到我們預期的效果了,下面來看一下代碼實現,

這里為了模擬重力加速度更加真實,老師在代碼里使用了“起跳高度”這個變量,變量的概念和使用我們后面的課程再詳細說明,老師的代碼里使用到了一個循環語句“重復執行直到觸發某一條件再停止”,這個循環的意思是在滿足x坐標大于204之前重復執行x坐標增加10和y坐標增加“起跳速度”這個變量的值的動作,起跳速度這個變量的值在不斷減小,所以起跳高度就形成了一個拋物線的效果,小朋友們,我們今天的課程結束了,你們理解了嗎?
- scratch課標
- 第一課
- scratch編程環境
- scratch介紹
- scratch編程環境各區域詳解
- 課堂實戰
- 第二課
- 知識點:讓角色動起來
- 課堂實戰一:小松鼠跳過河-設置角色名稱和大小
- 課堂實戰二:小松鼠跳過河-模擬重力加速度效果
- 第三課
- 知識點:程序的入口和出口
- 知識點:程序的三種執行結構
- 課堂實戰
- 第四課
- 知識點:角色造型概念
- 課堂實戰:唐詩繪本
- 第五課
- 知識點:角色特效展示&隨機數使用
- 課堂實戰
- 第六課
- 知識點:鍵盤方向鍵使用
- 第七課
- 知識點:偵測模塊之碰到顏色
- 課堂實戰:迷宮
- 條八課
- 知識點:克隆實現
- 課堂實戰:豌豆射手
- 第九課
- 知識點:變量應用
- 第十課
- 知識點:程序進階之自定義模塊
- 第十一課
- 知識點:精美的幾何世界之畫筆使用
- 課堂實戰進階:九九乘法表實現
- 第十二課
- 項目實戰:尋找蛋糕(一)
- 課堂實戰
- 咨訊
- 韓國將"編程"納入小學必修課程
- 家長認知
- STEAM教育理念應用的鑰匙-scratch少兒編程語言
- 習大大主持開幕的人工智能大會上講了啥
- 9.19 習大大主持開幕的人工智能大會講了啥