資訊內(nèi)容
Scratch編程基礎(chǔ)課第十講:碰到邊緣反彈
Scratch編程基礎(chǔ)課第十講:碰到邊緣反彈
上節(jié)課我們使用“重復(fù)”指令模塊讓小貓移動(dòng)時(shí),當(dāng)小貓移動(dòng)到舞臺(tái)邊緣時(shí),小貓將停滯不動(dòng)的,這時(shí)我們想讓小貓轉(zhuǎn)個(gè)方向來(lái)回移動(dòng),這時(shí)我們一般運(yùn)用“運(yùn)動(dòng)”類型下的“碰到邊緣就反彈”指令模塊。
Scratch的指令模塊“碰到邊緣反彈”,其反彈時(shí)遵循光線的反射規(guī)律--反射角等于入射角。反射角度與角色的方向角之間有如下關(guān)系:如果角色的當(dāng)前方向角為α,當(dāng)角色碰到的是上下水平邊緣反彈后,其方向角為180-α;當(dāng)角色碰到的是左右水平邊緣反彈后,其方向角為-α。利用這個(gè)規(guī)律,在程序中如果要角色碰到某角色或顏色后反彈時(shí),其反彈后的方向就可以用上面的辦法確實(shí),從而使我們的程序中的反彈效果更符合實(shí)際情況。
這時(shí)我們?cè)谀_本程序中加入“碰到邊緣就反彈”指令模塊,來(lái)實(shí)現(xiàn)小貓來(lái)回的走動(dòng)。
當(dāng)我們單擊綠旗運(yùn)行腳本時(shí)發(fā)現(xiàn),當(dāng)小貓運(yùn)動(dòng)碰到邊緣反彈回來(lái)后,圖像變成倒立的了,這是什么原因呢?這是因?yàn)樾∝埖男D(zhuǎn)方式為“任意旋轉(zhuǎn)”,這時(shí)我們可以將角色“小貓”的旋轉(zhuǎn)方式屬性改變?yōu)椤白笥曳D(zhuǎn)”即可,一般我們會(huì)在腳本中利用“將旋轉(zhuǎn)方式設(shè)為……”指令模塊來(lái)改變角色的旋轉(zhuǎn)方式。
我們也可以利用反射定律來(lái)實(shí)現(xiàn):當(dāng)角色碰到的是左右水平邊緣反彈后,其反射方向角為-α。我們先用“偵測(cè)”中的“碰到舞臺(tái)邊緣”來(lái)檢測(cè)角色是否碰到了邊緣,再利用“控制”類型下的“如果……那么”指令模塊來(lái)確定角色碰到邊緣時(shí)(條件為真,也可以用是的,對(duì)的來(lái)理解)就執(zhí)行那么后面的模塊讓角色反向,沒(méi)碰到邊緣時(shí)什么也不做。我們利用“運(yùn)動(dòng)”中的“方向”變量取出角色面向的方向,最后利用“運(yùn)算”中的“相減”求其相反數(shù)。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除

- 上一篇
用Scratch搭積木給孩子練口算
? ? ? ??一年級(jí)的小學(xué)生學(xué)數(shù)學(xué)除了要提高閱讀能力和看圖理解能力之外,最重要的還是要多練習(xí)計(jì)算,打好基礎(chǔ)。100以內(nèi)的加減法,尤其是20以內(nèi)的加減法是重中之重。 ? ? ? ??閨女的數(shù)學(xué)老師很負(fù)責(zé)任,除了正常的教材學(xué)練測(cè)之外,還給學(xué)生們布置了21天的
- 下一篇
Scratch3.0少兒編程案例:藍(lán)橋杯打螃蟹
一、案例簡(jiǎn)介 ? ? 小編在整理藍(lán)橋杯試題的時(shí)候,遇到的一個(gè)考題。今天就用scratch 3.0教小朋友們?nèi)绾沃谱鬟@個(gè)藍(lán)橋杯打螃蟹案例。