国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

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

資訊內容

Scratch: 敲磚塊 II

極客小將2020-12-04-
這是「天叔奇談」的第 037 篇文章,今天周三(2019/10/23),主題 scratch,題目是:敲磚塊。上期我們解決了彈性碰撞,這一期我們的目標是搞清楚如何如何繪制磚塊和當碰撞后,消掉磚塊。 課堂回顧 繪制磚塊有幾個方案,我和小寶

這是「天叔奇談」的第 037 篇文章,今天周三(2019/10/23),主題 scratch,題目是:敲磚塊。上期我們解決了彈性碰撞,這一期我們的目標是搞清楚如何如何繪制磚塊和當碰撞后,消掉磚塊。

課堂回顧

繪制磚塊有幾個方案,我和小寶在白板上討論了兩種。

upload/article/images/2020-12-04/22165298a7e474f0993b7e127cc917cb.jpg

第一種是小寶直接想到的 —— 每個磚塊是一個 sprite,這樣,三個磚塊就是三個 sprite,每個都要設置好 x,y,以及設置幾乎相同的代碼。我問她如果我們需要一個 5x10 的磚塊陣列呢?于是她否了這個提議。

本來我想引導她用背景圖片的方式,結果還沒引導,她就自己說出來:那可不可以畫一幅圖,里面有 5x10 的磚塊陣列?我聽了還真是大吃一驚 —— 我自己都沒想到這個方法,還是參考了網上的方案才恍然大悟的。

我問她那如何判斷小球和磚塊碰撞呢?如果用 touching sprint,那就是碰撞整個圖片啊。她想了一下說,可以用 touching color 啊!我徹底折服。touching color 我們上次就簡單了解和實驗了一下,這次她就用上了。我又問碰撞之后,如何把小球所處位置的磚塊消除掉呢?這下她無解了 —— 要是她還能答上來,我都肯把 mbp 吃了!于是我抹一抹額頭的汗,故作高深地說,嗯,這就是我們要研究的內容。

我跟她講了原理:比如磚塊是灰色,touching color gray 后,我們用一塊和背景顏色相同的黑色「磚塊」把原本的磚塊抹去,這樣就營造了磚塊被消除的效果。而小球自然下次經過這個位置時就暢通無阻了。這需要用一個新的模塊:Pen。

upload/article/images/2020-12-04/9bb85bf3682586615e6eba034be22fc4.jpg

小寶聽了很興奮,于是就開始在我的指導下編碼 —— 小球和「磚塊」(確切地說,是顏色)碰撞后,把兩個變量 ball-x,ball-y 設置為小球當前的位置(我還沒教她 sprite A 如何獲取 sprite B 的位置),然后發一條消息 stamp。在黑色「磚塊」的代碼中,如果收到 stamp 的消息,就執行 pen 的 stamp 的動作。

原理容易,一執行就有問題。原因是小球的當前位置并不適合直接放置黑色磚塊。即便是修正了坐標,還是不能很好地吻合:

upload/article/images/2020-12-04/91ad49f6b079a18a855fca41098004fb.jpg

這時整個課程已經過去了 50 分鐘,我告訴小寶這是道數學題,我們需要找到一個合適的算法算出黑色磚塊的合適的 x 坐標,它只能是固定的幾個數字之一。我們算呀算,竟然沒有找到一個合適的公式。十分鐘后,看著小寶哈欠連連,我認栽了,我一堂堂程序員教一個小屁孩,有史以來第一次,出了洋相。我只好告訴小寶先去睡覺吧(連日記我都不好意思「逼」她寫),我們下堂課再處理這個問題。

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

預約試聽課

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

主站蜘蛛池模板: 新昌县| 临桂县| 谢通门县| 三原县| 会同县| 鄄城县| 景洪市| 潜山县| 山西省| 海丰县| 稻城县| 冕宁县| 美姑县| 万宁市| 黎平县| 日喀则市| 保山市| 泸定县| 西乌珠穆沁旗| 梅河口市| 封开县| 凤城市| 温宿县| 顺义区| 城固县| 广德县| 额济纳旗| 达拉特旗| 灵武市| 绥芬河市| 朝阳市| 连江县| 绵阳市| 阳泉市| 宁海县| 辉县市| 巴林左旗| 乌拉特中旗| 京山县| 诸城市| 射阳县|