Scratch第15講-畫多邊形(更新)

2019-12-12 11:37

CC哥在之前做基礎課程的時候,主要會講Scratch的概念和應用,對程序設計不太注重,為了更好的幫助初學者,CC哥會把一些基礎課程的編程做的更完善和細致些,讓大家在學習基本概念的基礎上得到更好的編程練習。

之前的15課,CC哥主要講如何制作新積木,同時舉了一個三角形的例子。那么今天CC哥在這個基礎上,把這個例子擴展一下,讓大家學習的更系統。

https://cdn.china-scratch.com/timg/191214/113G26226-0.jpg

大家看看這個例子,這個例子實際上就是把程序擴展成了畫任意多邊形的方法,有兩個畫法:

1:已經知道邊長和邊數的條件來畫多邊形。

2:一個是已經知道圖形的半徑和邊數來畫多邊形。

邊長+邊數

CC哥這是一筆畫的方法,如果你知道了邊長,那么邏輯就是邊畫邊拐彎,比如如果是畫正方型,就是先畫一條線,然后右轉90度,在畫一條線,再轉90度,4條線畫下來,一個正方型就有了。

https://cdn.china-scratch.com/timg/191214/113G23401-1.jpg

方法有了是不是很好畫,不管畫幾邊形都很容易畫出來。但是我們要注意幾個問題:

1:我們想把圖形畫在屏幕中央,那么要從哪里下筆呢?

2:我們不想把圖形畫的大小超出了舞臺的范圍,那么在設定邊長和邊數的時候有沒有限制呢?(邊長越長,邊數越多,圖形就越大)

讓我們來看代碼,看看CC哥怎么設計程序的。

https://cdn.china-scratch.com/timg/191214/113G22114-2.jpg

這段代碼大家不去看控制的部分,只看畫圖的部分。

如果要回答上面的兩個問題,首先要求出來圖形的半徑,也就是圖形的中心點到圖形頂點的長度。

https://cdn.china-scratch.com/timg/191214/113G24613-3.jpg

這個公式就是根據邊長和邊的數量求半徑的算法,

https://cdn.china-scratch.com/timg/191214/113G35O9-4.jpg

半徑的公式就是:半徑=二分之一的邊長/sin(a)這個求半徑用到了三角函數,小朋友可以找爸媽幫忙來學習一下這個簡單的三角函數。

如果算出來了半徑,怎么保證把圖形畫到舞臺中心呢?那么圖形的起點和初始方向就很關鍵:

1:起點的x坐標為0,y坐標為半徑的長度。

2:起始畫線的方向需要計算出來:90+180/邊的數量

https://cdn.china-scratch.com/timg/191214/113G34T5-5.jpg

至于不畫出舞臺,那么就很簡單了,只要半徑算出來之后小于180,那么圖形就不會超出舞臺啦。

知道了畫筆的起點和初始畫筆的方向后,那么畫一個多邊形就很容易了。

https://cdn.china-scratch.com/timg/191214/113G34945-6.jpg

半徑+邊數

掌握了邊長+邊數的畫法,通過半徑+邊長來畫多邊形就很簡單了,只要把邊長求出來就可以了。

https://cdn.china-scratch.com/timg/191214/113G32S4-7.jpg

中間這個公式就是計算邊長的方法。

程序的其他部分都是一些細節的控制,比如鼠標移到按鈕上的特效,以及用按鈕切換兩種畫法,更換背景等。還有用詢問和回答來輸入變量的值,變量的顯示和隱藏等,不過這些部分不是本講座的重點,大家自己看代碼就好,或者自己對控制的部分自行發揮都可以。

--end--

后記,小編朋友公司研發了一個游戲化的少兒編程在線課程(5-12歲),游戲化教學結合scratch(一款在線少兒編程工具,類似樂高的積木拼搭),我家娃娃學了幾次課,非常喜歡(超預期),16次課才200多塊錢,對鍛煉孩子的思維能力和動手動力很有幫助。

感興趣的朋友可以掃描二維碼,關注一下,或微信搜索“大耳猴少兒編程”

http://www.oeerar.tw/Uploads/Editor/2018-04-22/5adca08bdc212.jpg

聲明:本文章由爬蟲自動處理和轉載作為教育分享用途,原作者可通過郵件及時和我們聯系處理:freemanzk@qq.com