1.畫一個圓形:重複306次 2.畫多個同一圓心,但越來越小的圓,角度要從0慢慢增加、半徑慢慢減少 都是重複執行直到,半徑小魚0、角度大於360度 面對許多是重複程序,可否寫成一個模組需要時再呼叫使用,一方面可以省下開發時,另 一方面則易於維護。(插圖 66) Scratch 是可以做到這一點,利用廣播方式來處理。 Scratch2.0 以上版本則更強化模組使用,使用彈性更大。 舞台角色:(插圖 67) 廣播 draw 等待花瓣一將 draw 執行程序處理完。 花瓣一角色:(插圖 68) • 當收到 draw 訊息開始執行: • 切換到 petal1 造型 • 設定 X 座標為-160 • 隱藏造型 • 重複執行 5 次(畫 5 種不同的花) 1. y 座標則隨機在-100~100 之間取一數 2. 廣播 drawflow 並等待(由花瓣開始畫出單 一花朵) 3. x 座標則增加 80 4. 切換下一造型 5. 隱藏造型 • 當收到 drawflow 訊息開始執行(畫出一朵花 程序): 初始化: 1. 在 0~100 之間隨機取一數作為顏色特效 2. 在-20~20 之間隨機取一數作為亮度特效 3. 在 40~60 之間隨機取一數作為大小特效 開始畫花: 1. 重複 20 次: 2. 蓋章 3. 每次旋轉 18 度(18*20=360) Scratch1.4 以下版本則採用上述方式作為模組,由廣播與接收廣播來完模組化處理方式,在 模組化中如果需要輸入引述為參數,Scratch1.4 版本則較麻煩,相較於 2.0 以上版本則輕鬆多了。 總結: 由舞台發出 draw 廣播,花瓣一角色收到後在發出 drawflow 廣播給自己來執行畫花動作,當 單一花朵畫完後交回 draw 處理程序,在更換造與位置又進入 drawflow 程序,如此不斷循環直 到所有造型完成。再交回舞台。 三、程序中輸入參數 模組中如何將引述傳遞進來? 基本上可以設定一個變數來接收引數,每次進入模組前先將變數的引述做改變,詳細情形 留待後面討論,在此先了解如何使用即可。2.0 版可以在程序中直接設定變數呼叫程序時再將 引數導入。 下面例子允許在使用模組時更改其中變數,如更改寬度與旋轉次數,在本例中事先設定變數 值,呼叫時自動將變數值引入。(插圖 69)