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

極客小將

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

資訊內(nèi)容

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,每個都要設(shè)置好 x,y,以及設(shè)置幾乎相同的代碼。我問她如果我們需要一個 5x10 的磚塊陣列呢?于是她否了這個提議。

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

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

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

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

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

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

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

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

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

預(yù)約試聽課

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

主站蜘蛛池模板: 静宁县| 北流市| 凉山| 涞水县| 新巴尔虎右旗| 乌什县| 登封市| 漾濞| 定兴县| 通化县| 扎囊县| 本溪市| 陇西县| 清流县| 西林县| 惠水县| 合山市| 岐山县| 肇州县| 友谊县| 怀远县| 柘城县| 乐陵市| 宝应县| 肇源县| 吴旗县| 丹江口市| 滨州市| 武汉市| 新丰县| 沭阳县| 贞丰县| 蓬莱市| 建瓯市| 刚察县| 理塘县| 陕西省| 西宁市| 新沂市| 青神县| 永川市|