資訊內(nèi)容
Scratch第15講-畫多邊形(更新)
CC哥在之前做基礎(chǔ)課程的時(shí)候,主要會(huì)講Scratch的概念和應(yīng)用,對(duì)程序設(shè)計(jì)不太注重,為了更好的幫助初學(xué)者,CC哥會(huì)把一些基礎(chǔ)課程的編程做的更完善和細(xì)致些,讓大家在學(xué)習(xí)基本概念的基礎(chǔ)上得到更好的編程練習(xí)。
之前的15課,CC哥主要講如何制作新積木,同時(shí)舉了一個(gè)三角形的例子。那么今天CC哥在這個(gè)基礎(chǔ)上,把這個(gè)例子擴(kuò)展一下,讓大家學(xué)習(xí)的更系統(tǒng)。
大家看看這個(gè)例子,這個(gè)例子實(shí)際上就是把程序擴(kuò)展成了畫任意多邊形的方法,有兩個(gè)畫法:
1:已經(jīng)知道邊長和邊數(shù)的條件來畫多邊形。
2:一個(gè)是已經(jīng)知道圖形的半徑和邊數(shù)來畫多邊形。
邊長+邊數(shù)
CC哥這是一筆畫的方法,如果你知道了邊長,那么邏輯就是邊畫邊拐彎,比如如果是畫正方型,就是先畫一條線,然后右轉(zhuǎn)90度,在畫一條線,再轉(zhuǎn)90度,4條線畫下來,一個(gè)正方型就有了。
方法有了是不是很好畫,不管畫幾邊形都很容易畫出來。但是我們要注意幾個(gè)問題:
1:我們想把圖形畫在屏幕中央,那么要從哪里下筆呢?
2:我們不想把圖形畫的大小超出了舞臺(tái)的范圍,那么在設(shè)定邊長和邊數(shù)的時(shí)候有沒有限制呢?(邊長越長,邊數(shù)越多,圖形就越大)
讓我們來看代碼,看看CC哥怎么設(shè)計(jì)程序的。
這段代碼大家不去看控制的部分,只看畫圖的部分。
如果要回答上面的兩個(gè)問題,首先要求出來圖形的半徑,也就是圖形的中心點(diǎn)到圖形頂點(diǎn)的長度。
這個(gè)公式就是根據(jù)邊長和邊的數(shù)量求半徑的算法,
半徑的公式就是:半徑=二分之一的邊長/sin(a)這個(gè)求半徑用到了三角函數(shù),小朋友可以找爸媽幫忙來學(xué)習(xí)一下這個(gè)簡單的三角函數(shù)。
如果算出來了半徑,怎么保證把圖形畫到舞臺(tái)中心呢?那么圖形的起點(diǎn)和初始方向就很關(guān)鍵:
1:起點(diǎn)的x坐標(biāo)為0,y坐標(biāo)為半徑的長度。
2:起始畫線的方向需要計(jì)算出來:90+180/邊的數(shù)量
至于不畫出舞臺(tái),那么就很簡單了,只要半徑算出來之后小于180,那么圖形就不會(huì)超出舞臺(tái)啦。
知道了畫筆的起點(diǎn)和初始畫筆的方向后,那么畫一個(gè)多邊形就很容易了。
半徑+邊數(shù)
掌握了邊長+邊數(shù)的畫法,通過半徑+邊長來畫多邊形就很簡單了,只要把邊長求出來就可以了。
中間這個(gè)公式就是計(jì)算邊長的方法。
程序的其他部分都是一些細(xì)節(jié)的控制,比如鼠標(biāo)移到按鈕上的特效,以及用按鈕切換兩種畫法,更換背景等。還有用詢問和回答來輸入變量的值,變量的顯示和隱藏等,不過這些部分不是本講座的重點(diǎn),大家自己看代碼就好,或者自己對(duì)控制的部分自行發(fā)揮都可以。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時(shí)和我們聯(lián)系刪除

- 上一篇
少兒創(chuàng)意編程(特40)scratch繪圖等級(jí)考試40關(guān)5
最近關(guān)于編程的各種等級(jí)考試層出不窮,有計(jì)算機(jī)學(xué)會(huì)的,有電子學(xué)會(huì)的,有工信部(藍(lán)橋杯)的,有青少年宮協(xié)會(huì)(中少童創(chuàng))的,有軟件行業(yè)協(xié)會(huì)(編程貓)的,有科促會(huì)的……好不熱鬧!我們繼續(xù)謝聲濤老師三言學(xué)堂微信群里的編程繪圖等級(jí)考試40關(guān)吧!
- 下一篇
Scratch第一課:《時(shí)空戰(zhàn)機(jī)》
? ? ? ?這是大黃蜂老師挺喜歡的一款飛機(jī)類游戲,還記得小時(shí)候和同學(xué)一起在家玩的時(shí)候,一玩就是一下午,但是現(xiàn)在通過學(xué)習(xí)scratch編程,就能自己制作出原來兒時(shí)的游戲。游戲內(nèi)容很簡單,操控飛機(jī),發(fā)射導(dǎo)彈消滅敵機(jī),從而獲得分?jǐn)?shù),當(dāng)達(dá)到一定的分?jǐn)?shù)的時(shí)候就順利通關(guān),但是隨著分?jǐn)?shù)的增加,難