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

極客小將

您現(xiàn)在的位置是:首頁 » scratch編程資訊

資訊內容

Scratch打磚塊游戲課程-第三講:物理中的速度

極客小將2021-04-12-
速度是矢量,有大小
upload/article/images/2021-04-12/1286b173c120bbc7e89571f983056c9a.jpg

速度是矢量,有大小有方向,它描述物體運動的快慢,和反映物體運動的方向;速率是標量,有大小沒有方向。

所以當我們把速度放在直角坐標系時,我們就可以通過X坐標和Y坐標去控制速度的大小和方向。

直接講解這些物理知識,可能感覺會比較抽象。幸好我們可以通過完成小球發(fā)射功能去深刻的理解速度的概念。

https://cdn.china-scratch.com/timg/180403/091441H04-1.gif

添加速度

首先,我們建立“設置小球發(fā)射速度”和“移動小球”的自定義積木,代替原來的“移動5步”積木。

為什么不再使用“移動5步”積木呢?因為這個積木使用起來不夠靈活,而且我們重新完成一個類似的功能難度也不太大。

現(xiàn)在我們先添加兩個變量,分別命名為X和Y,通過這兩個變量我們去控制小球的速度。

upload/article/images/2021-04-12/4fbc097b345c113994ac5fc78b4c1a43.jpg

把兩個變量添加后,我們來談談為什么X坐標和Y坐標同時變化就可以讓小球移動。

在Scratch里,最有效的移動方式有3個積木,分別是“移動10步”,“將x坐標增加10”和“將y坐標增加10”。單獨使用它們時,都無法實現(xiàn)一個角度控制的問題,但是同時使用“將x坐標增加10”和“將y坐標增加10”就可以達到預期的效果,例如:兩個積木增加同等的數(shù),那么他們就會從45度角發(fā)射出去。

upload/article/images/2021-04-12/9dbb33612a690f1fe64d9e7c69f1c20d.jpg

所以我們開始完成“設置小球發(fā)射速度”和“移動小球”兩個自定義積木。

upload/article/images/2021-04-12/718d26264d5cf4a65ff57d281b028275.jpg

在“設置小球發(fā)射速度”積木中的“如果那么”積木的作用是什么呢?這個功能是我們希望在發(fā)射角度隨機的同時,X不等于-1、-2、0、1、2。因為這樣會導致出現(xiàn)一個發(fā)射角度接近90度的情況,90度的發(fā)射會導致小球無法實現(xiàn)除了垂直以外的反彈。

https://cdn.china-scratch.com/timg/180403/091441H04-1.gif

碰到邊緣反彈

去掉“移動5步”的積木后,我們緊接著就要去掉“碰到邊緣就反彈”積木了。為什么不能通過“碰到邊緣就反彈”積木實現(xiàn)碰到邊緣反彈的功能呢?原因是我們還需要實現(xiàn)碰到磚塊和碰到擋板反彈兩個功能,而且我們碰到底部是不能反彈。

那么反彈是如何實現(xiàn)的呢?我們先看看反彈右邊邊緣時,小球的路徑是怎么樣的。

upload/article/images/2021-04-12/e5bbaab0791a544b657569ba2a13b2d3.jpg

可以通過上面的坐標圖看出,只需要把X變量乘-1,就可以實現(xiàn)反彈,因為Y坐標是無論反彈與否,小球是依舊向上移動的,所以Y變量是不需要改變。

那么舉一反三,我們添加一個“檢測小球是否出界”的積木,完成碰到右邊,上方和左邊的反彈功能吧。

upload/article/images/2021-04-12/b197a14ab14379061a7b9c107b527ffe.jpg

那么碰到擋板反彈時又是哪個坐標發(fā)生變化呢?

upload/article/images/2021-04-12/1b4ee29187dff4f879ec088421de1222.jpghttps://cdn.china-scratch.com/timg/180403/091441H04-1.gif

碰到磚塊

當“小球”碰到“磚塊”,我們需要實現(xiàn)兩個功能,反彈和磚塊消失。

其實碰到磚塊的反彈和碰到擋板的反彈,原理是一樣的,但是我們需要關注的一個細節(jié)就是,碰到磚塊時,我們是需要考慮碰到磚塊的是哪個位置,上下和左右反彈的軌跡自然是不可能一樣的。

upload/article/images/2021-04-12/a20a62bc65b98a5f247e37db3eaa423f.jpg

這里我們通過小球和磚塊的Y坐標進行判斷,究竟是碰到上下,還是左右。如何判斷呢?

因為目前的坐標是根據(jù)中心點確認的,所以我們通過兩者的Y坐標相減,得出的結果與磚塊的高度進行比較,如果大于磚塊高度的一半,那么小球碰到磚塊的上方,反之則是碰到右上方或左上方。

那么如何判斷下方、左下方和右下方呢?我們只需要把絕對值加上,就可以完美的解決這個問題。如何加呢?我們可以仔細研究下方的代碼。

upload/article/images/2021-04-12/e9a20407e2146a395e10e39a401935e7.jpg

然后小球該怎么進行反彈呢?

upload/article/images/2021-04-12/f56dab324e5c4ea1b7cbfd7d99554ef5.jpg

好了,走到這步,整個游戲看起來就基本運行起來了,可是里面還有很多的bug等著我們去解決呢!

end

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

預約試聽課

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

主站蜘蛛池模板: 久久久婷| 天天操天天射天天操 | 久久99久久精品 | 亚洲综合色网 | 91精品久久久久久久 | 懂色av蜜乳av一二三区 | 一区色 | 精品日韩视频 | 国产精品久久久久久久久久久久冷 | 欧美性一区二区 | 国产欧美一区二区精品性色 | 天堂中文最新版在线网 | 国产一区在线播放 | 国产精品免费看 | 不卡的av电影在线 | 一区二区国产视频 | 久久国产欧美一区二区免费 | 久久美 | 国产日韩一区 | 国产精品精品视频一区二区三区 | 久久久久久久久久国产精品 | 中文字幕精品一区久久久久 | 国产精品网址 | 日韩亚洲精品在线 | 国产精品污www在线观看 | 人人爽视频 | 国产精品嫩草影视 | 国产一区二区三区高清在线观看 | 91精品亚洲 | 一区二区三区四区国产 | 久久看av| 一级欧美视频 | 国产小视频在线观看 | 日韩成人精品 | 精品国产鲁一鲁一区二区张丽 | 国产毛片av | 黄色小视频免费 | 精品国产三级 | 91嫩草精品| 国产色网 | 91久久精品一区 |