国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩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人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 德阳市| 新晃| 耿马| 彩票| 肃南| 神木县| 图们市| 吉林省| 隆回县| 清丰县| 沐川县| 格尔木市| 乌拉特后旗| 日照市| 绵阳市| 万年县| 通道| 洮南市| 原阳县| 霍林郭勒市| 清河县| 易门县| 宜城市| 外汇| 法库县| 乌苏市| 宝山区| 肥西县| 石屏县| 郴州市| 怀集县| 清远市| 汉寿县| 额敏县| 永顺县| 阜新| 垦利县| 阿拉善盟| 新化县| 西昌市| 大埔区|