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

極客小將

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

資訊內(nèi)容

Scratch: 敲磚塊 II

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

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

課堂回顧

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

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

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

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

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

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

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

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

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

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

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

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

預(yù)約試聽課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 罗甸县| 洪江市| 双城市| 监利县| 林甸县| 靖安县| 汝南县| 临武县| 北海市| 旌德县| 阿拉善左旗| 泰安市| 南通市| 察雅县| 阿拉善左旗| 扶绥县| 东阳市| 德保县| 望都县| 工布江达县| 象山县| 富顺县| 桃园县| 阳高县| 康保县| 武邑县| 定州市| 施秉县| 罗平县| 利辛县| 遂昌县| 英吉沙县| 金秀| 巴东县| 阳泉市| 南汇区| 六枝特区| 新平| 许昌市| 巴青县| 台东县|