###### tags: Scratch教學 Scratch教學09 === ## :computer:Scratch 09 開心水族箱 <iframe src="https://scratch.mit.edu/projects/983492032/embed" allowtransparency="true" width="485" height="402" frameborder="0" scrolling="no" allowfullscreen></iframe> :::info ### [:bulb:先連結Scratch官網並登入](https://scratch.mit.edu/)或開啟桌面Scratch 3應用程式![scratch3icon](https://hackmd.io/_uploads/BkDl8Ctp6.png =30x40) ::: * 說明:角色會隨機移動,當角色碰到邊緣時反彈。相同效果可利用產生分身效果來減少積木的使用。另外還有氣泡、海草及水波會有動態效果。 * 使用技巧: 重複、隨機數、建立分身、外觀改變、迴轉方式、圖層設定 :::success ### :bulb:操作順序 1. 加入舞台背景(可使用內建之範例背景或老師提供的背景庫圖案) 2. 加入角色(可使用內建之角色或下載老師提供的角色庫圖案) 3. 角色(魚)分身設定 4. 角色(魚)定位與移動設定 5. 角色(魚)分身產生後設定(分身的移動與定位) 6. 角色(魚群與海馬)程式設定 7. 角色(氣泡)程式設定 8. 角色(海草)程式設定 9. 角色(水紋波)程式設定 ::: ### 1. 加入舞台背景 :::danger 自訂背景:可選擇內建之水族箱背景或是下載老師提供的👉[**背景庫**](https://drive.google.com/drive/folders/1S3B8brfuxmGy0qNZQ1p49cArz62P5unq?usp=drive_link) ::: 點選舞台加入舞台背景。(原始空白的背景圖請記得刪除) ![stage3](https://hackmd.io/_uploads/BkUs7-XAa.png) ### 2. 加入角色 :::danger 自訂角色:可選擇內建之角色或是下載老師提供的👉[**角色庫**](https://drive.google.com/drive/folders/1qUYWoS-2SQOIKtVBgbDa7ZJ4KSCYR5ug?usp=sharing) 要加入的角色分別有: 魚、魚群、海馬、氣泡、海草、水波紋 ::: * 點選角色區,分別加入內建的角色或是上傳自己的圖檔 * 加入角色後,點選"造型"加入每個角色的其他造型,多個角色會利用造型來產生分身,有N個造型就可以產生(N-1)個分身。 *使用分身的角色有:魚、魚群、海馬 *利用造型做動態效果:氣泡、海草、水波 ![fish1](https://hackmd.io/_uploads/BJdxcZX06.png)![fish1_1](https://hackmd.io/_uploads/HyAg9WQRT.png) ![role](https://hackmd.io/_uploads/BJe85bXCT.png) 若角色太大可以調整尺寸來改變大小,先將圖案轉換成向量圖,轉成向量圖後可利用節點來縮小圖案,內建的圖檔大小約100X100像素左右,若要與內建的圖檔大小相同可調整接近的尺寸 ![02](https://hackmd.io/_uploads/H1Q3U_SAp.jpg) !![03](https://hackmd.io/_uploads/HJdCPdSRp.jpg) ![fish4](https://hackmd.io/_uploads/SyAM6bm0T.png) ### 3. 角色(魚)分身設定 :::danger 🧱使用積木:事件、控制、動作、外觀 ::: **說明:當程式開始執行時(綠旗被點一下),角色會產生分身。** * 角色(魚)的分身效果,可讓多隻魚同時在畫面上出現,省下設定再多個角色。 * 角色(魚)的分身數(重複次數)取決於造型的多寡,若有N個造型,重複次數則設定為(N-1)次,若多餘N個,則會出現相同造型的魚,個人可試喜好而定。 * 建立分身後,設定角色更換下一個造型 ![fish5](https://hackmd.io/_uploads/BJRMR-m0a.png) ### 4. 角色(魚)定位與移動設定 :::danger 🧱使用積木:事件、控制、動作、外觀、運算 ::: **說明:角色出現後先定位到隨機的位置並往持續往前移動,當碰到邊緣則會往返。** * 角色(魚)出現時,定位到隨機位置。 * 利用積木組合,新增「面朝」和「隨機取數」的積木,就能讓角色有不同的移動角度且迴轉方式設為左右。隨機取數的角度可自行設定數值。 * 利用「重複無限次」、「移動」和「碰到邊緣就反彈」積木來讓角色移動,碰到邊緣則反彈。移動使用隨機取數,此處是設定角色的移動速度(越大越快)。 ![fish6](https://hackmd.io/_uploads/Sk-1mfQCT.png) ### 5. 角色(魚)分身產生後設定(分身的移動與定位) :::danger 🧱使用積木:事件、控制、動作、外觀、運算 ::: **說明:當分身出現後同原身的定位與移動方式。** * 此處可直接複製原身的積木區塊。 ![fish7](https://hackmd.io/_uploads/rJbgPMmA6.png) ![fish8_1](https://hackmd.io/_uploads/rJFgPz7Rp.png) :::warning #### **角色(魚)的所有積木設定:** ![fish8](https://hackmd.io/_uploads/H1xHvMmAT.png) ::: ### 6. 角色(魚群與海馬)的程式設定 :::danger 🧱使用積木:事件、控制、動作、外觀、運算 ::: **說明:魚群與海馬的程式與魚相同。** * 此處可直接複製魚的程式積木。 * 此處可調整分身數(重複次數)、面朝的隨機取數(角度)及移動的隨機取數(速度) :::warning 魚群的程式積木 ![schooloffish1](https://hackmd.io/_uploads/BJ5OKVm0p.png) 海馬的程式積木 ![seahorse1](https://hackmd.io/_uploads/S1otKVQC6.png) ::: ### 7. 角色(氣泡)的程式設定 :::danger 🧱使用積木:事件、控制、動作、外觀、運算 ::: **說明:當程式開始執行時,角色氣泡在一範圍內往上移動並改變外觀。** * 每次開始先重新定位(為產生氣泡往上飄動的動態效果)。 * 使用"造型換成下一個"以產生動態。 * 氣泡往上飄是改變y的位置,此處隨機取數正值的範圍(可自訂)。 * 為讓氣泡持續出現,使用"重複無限次",讓氣泡的動態持續。 ![bubble1](https://hackmd.io/_uploads/SJ74n4XRa.png) 為讓水族箱看起來更熱鬧,可再複製一至兩個氣泡角色並調整位置與大小。 ### 8. 角色(海草)的程式設定 :::danger 🧱使用積木:事件、控制、外觀 ::: **說明:當程式開始執行時,角色海草不斷改變外觀。** * 圖層定位:因海草的圖層可能出現在最上層影響到其他角色,此處可加入"圖層移到最下層"。 * 每間隔一段時間,使用"造型換成下一個"以產生動態。 * 為了讓海草不段飄動,使用"重複無限次"積木。 ![seaweed1](https://hackmd.io/_uploads/S1EXWr7Ca.png) ### 9. 角色(水波紋)的程式設定 :::danger 🧱使用積木:事件、控制、外觀 ::: **說明:當程式開始執行時,水波紋若隱若現地出現。** * 圖層定位:因水波紋的圖層可能出現在最上層影響到其他角色,此處可加入"圖層移到最下層"。 * 終止若隱若現效果:因後面會使用若隱若現的效果,避免程式開始時角色隱形了,故加入"圖像效果幻影設為0",讓角色能顯影。 * 每間隔一段時間,使用"造型換成下一個"以產生動態。 * 為了讓海草不段飄動,使用"重複無限次"積木。 ![waterwave1](https://hackmd.io/_uploads/Bk-5YSXRa.png) * 水波紋為左右移動,故先將X設為在一範圍內隨機取數出現 * 接著使用"圖像效果幻影改變25"的積木,讓水波紋出現逐漸透明的效果 * 水波紋造型替換設定並等待一段時間(時間可自訂--變換的速度) * 重複執行以上動作5次(可自訂次數) * 相同方式設定逐漸顯現的程式積木(可用複製的方式) * 改變"圖像效果"的數值為負數,讓水波紋出現逐漸清楚的效果 ![waterwave2](https://hackmd.io/_uploads/BJX9qB7Cp.png) * 為讓水波紋不段出現若隱若現的效果,使用"重複無限次"將兩種動態效果包覆 ![waterwave3](https://hackmd.io/_uploads/SJV-6BQ0T.png) :::warning 水波紋的完整程式 ![waterwave4](https://hackmd.io/_uploads/H1o9pH7Rp.png) ::: 為讓水族箱看起來更熱鬧,可再複製一至兩個海草角色並調整位置與大小。