産品特色
編輯推薦
運用Scratch 作為動畫遊戲與程序設計邏輯訓練的工具,以情境範例切入,從堆砌Scratch程序設計積木開始訓練邏輯思維。使用 Scratch 2.0 的視頻影像檢測、聲音檢測、時間檢測或距離檢測等功能,完成16個動畫遊戲與創意設計作品,輕鬆激發讀者的思考力、創造力與想象力。
內容簡介
本書以 MIT Scratch 2.0為設計工具,講解創建交互式的故事、動畫、遊戲、音樂及藝術等專題的方法,訓練讀者的程序設計邏輯。本書共16章,每一章的結構基本類似,都是以一個典型的範例程序為主題,通過 Scratch 指令積木的“堆砌和搭建”,輕鬆實現生活中常用的連連看、自動感應吸塵器、切換場景、自動點號機、彈奏音符、時鍾、電子賀卡、月亮變化、打棒球、在綫測驗、畫圓求麵積、鍵盤打字練習、拼圖、超鏈接、數學的計算原理、迷宮闖關範例程序。
本書破除瞭傳統程序設計隻是設計娛樂性遊戲或動畫的範疇,學習者隻要拖曳堆砌指令積木,就能輕鬆錶達自己的想法與創意,適閤中小學生、初學者或有 Scratch 學習經驗的學習者訓練自己程序設計的邏輯思維能力,同時激發創造力與想象力。
作者簡介
王麗君(Li-Chun Wang),颱灣師範大學信息教育研究所博士。
經曆:師培中心助理教授,計算機科專任教師,信息組長,自然領域召集人,計算機科教師甄選委員,教師聯閤甄選試題組委員,數據處理科教師。
內頁插圖
目錄
第 1章八大行星連連看
1.1 Scratch 簡介 ……………………………………………………………… 3
1.2 Scratch 下載安裝及設置成簡體中文版 ………………………………… 3
1.2.1 下載 Scratch …………………………………………………………… 3
1.2.2 安裝 Scratch 2.0 的簡體中文版 ……………………………………… 7
1.3 Scratch 窗口環境 ………………………………………………………… 8
1.4 腳本規劃 ……………………………………………………………… 11
1.4.1 “八大行星連連看”腳本的規劃 …………………………………… 11
1.4.2 編輯角色……………………………………………………………… 12
1.4.3 新建角色……………………………………………………………… 13
1.4.4 縮放角色與調整位置………………………………………………… 15
1.5 更改角色名稱與信息 ………………………………………………… 18
1.6 新建舞颱背景 ………………………………………………………… 19
1.7 單擊綠旗開始執行程序 ……………………………………………… 21
1.7.1 重復執行……………………………………………………………… 22
1.7.2 復製程序指令積木…………………………………………………… 24
1.8 角色移動與坐標 ……………………………………………………… 26
1.8.1 行星位置……………………………………………………………… 26
1.8.2 角色坐標……………………………………………………………… 27
1.9 切換舞颱背景……………………………………………………… 30
第2 章自動感應吸塵器
2.1 腳本規劃與流程設計……………………………………………… 35
2.1.1 自動感應吸塵器腳本的規劃…………………………………… 35
2.1.2 自動感應吸塵器的流程設計…………………………………… 35
2.2 Scratch 與程序語言……………………………………………… 36
2.2.1 順序結構………………………………………………………… 36
2.2.2 選擇結構………………………………………………………… 36
2.2.3 循環結構………………………………………………………… 39
2.3 繪圖工具…………………………………………………………… 41
2.3.1 初識繪圖工具…………………………………………………… 41
2.3.2 畫位圖角色……………………………………………………… 42
2.3.3 從內建範例添加舞颱背景……………………………………… 46
2.4 當角色被單擊……………………………………………………… 47
2.5 如果檢測到“碰到”……………………………………………… 49
2.5.1 設置“頭發”程序……………………………………………… 49
2.5.2 復製角色和指令積木…………………………………………… 50
第3 章關於我
3.1 腳本規劃與流程設計……………………………………………… 56
3.1.1 “關於我”腳本規劃…………………………………………… 56
3.1.2 “關於我”程序的流程設計…………………………………… 57
3.2 編輯背景與造型…………………………………………………… 57
3.2.1 舞颱與背景及角色與造型之間的關聯………………………… 57
3.2.2 從本地文件中上傳角色及造型………………………………… 58
3.2.3 編輯角色造型信息……………………………………………… 60
3.2.4 編輯舞颱背景…………………………………………………… 62
3.3 角色控製舞颱背景………………………………………………… 63
3.3.1 角色控製舞颱背景……………………………………………… 63
3.3.2 角色造型特效…………………………………………………… 64
3.4 舞颱坐標…………………………………………………………… 65
3.5 背景控製開始執行程序…………………………………………… 65
3.5.1 設置起始位置與造型…………………………………………… 66
3.5.2 背景控製開始執行程序………………………………………… 67
3.6 角色移動與鏇轉…………………………………………………… 68
3.6.1 鏇轉方式………………………………………………………… 68
3.6.2 左右鏇轉 180° ………………………………………………… 69
3.6.3 左右移動………………………………………………………… 69
3.6.4 麵嚮 90°鏇轉…………………………………………………… 70
3.6.5 碰到邊緣就反彈………………………………………………… 71
3.6.6 麵嚮鼠標指針…………………………………………………… 72
第4 章自動點號機
4.1 腳本規劃與流程設計…………………………………………… 78
4.1.1 自動點號機腳本規劃…………………………………………… 78
4.1.2 自動點號機選號的流程………………………………………… 79
4.2 矢量圖、圖層與分組……………………………………………… 79
4.2.1 繪圖圖層與分組………………………………………………… 79
4.2.2 畫角色矢量圖…………………………………………………… 80
4.2.3 繪製矢量圖舞颱背景…………………………………………… 84
4.3 Scratch 與麵嚮對象程序設計…………………………………… 85
4.3.1 麵嚮對象程序設計……………………………………………… 85
4.3.2 麵嚮對象程序設計的特性……………………………………… 86
4.4 廣播與自動點號機的設計流程…………………………………… 86
4.5 角色圖層…………………………………………………………… 88
4.6 認識常數與變量…………………………………………………… 88
4.6.1 認識常數與變量………………………………………………… 89
4.6.2 新建變量………………………………………………………… 89
4.7 偵測角色 XY 坐標………………………………………………… 91
4.7.1 偵測角色信息…………………………………………………… 91
4.7.2 說幸運號碼及特效……………………………………………… 92
第5 章天纔演奏傢彈奏音符
5.1 腳本規劃…………………………………………………………… 98
5.2 導齣與導入角色及造型…………………………………………… 99
5.2.1 Scratch 角色或造型的導齣或導入…………………………… 99
5.2.2 導入角色與背景………………………………………………… 99
5.2.3 添加背景文字…………………………………………………… 101
5.3 單擊一下彈奏音符………………………………………………… 102
5.4 偵測碰到彈奏音符………………………………………………… 104
5.4.1 設定彈奏鴿移到鼠標指針……………………………………… 104
5.4.2 停止彈奏鴿跟著鼠標指針移動………………………………… 105
5.4.3 彈奏鴿角色圖層………………………………………………… 105
5.4.4 當彈奏鴿碰到“Do~H-Do”彈奏音符………………………… 105
5.5 設定樂器種類變量………………………………………………… 107
5.5.1 創建樂器種類變量……………………………………………… 107
5.5.2 利用變量設定樂器種類………………………………………… 108
5.5.3 單擊一下角色設定彈奏樂器…………………………………… 108
5.6 詢問與迴答………………………………………………………… 109
5.6.1 設置詢問與迴答………………………………………………… 109
5.6.2 輸入樂器種類…………………………………………………… 110
第6 章時鍾
6.1 腳本規劃與流程設計……………………………………………… 116
6.1.1 時鍾腳本規劃…………………………………………………… 116
6.1.2 時鍾鏇轉流程…………………………………………………… 117
6.2 舞颱背景與角色文件……………………………………………… 117
6.2.1 從本地文件中上傳背景………………………………………… 117
6.2.2 從本地文件中上傳角色………………………………………… 118
6.3 角色圖層…………………………………………………………… 119
6.4 Scratch 運算……………………………………………………… 119
6.4.1 算術運算………………………………………………………… 119
6.4.2 三角函數………………………………………………………… 120
6.4.3 指數與對數……………………………………………………… 121
6.4.4 關係運算………………………………………………………… 121
6.4.5 邏輯運算………………………………………………………… 121
6.4.6 字符串運算……………………………………………………… 122
6.5 偵測當前的秒數…………………………………………………… 122
6.5.1 設置角色起始位置……………………………………………… 123
6.5.2 設置當前的秒數………………………………………………… 123
6.5.3 秒針重復執行鏇轉……………………………………………… 124
6.6 偵測當前的分鍾…………………………………………………… 124
6.6.1 設置當前的分鍾………………………………………………… 124
6.6.2 分針重復執行鏇轉……………………………………………… 125
6.7 偵測當前的小時…………………………………………………… 125
6.7.1 設置當前的小時………………………………………………… 125
6.7.2 時針重復執行鏇轉……………………………………………… 126
6.8 設置聲音…………………………………………………………… 126
6.8.1 新建聲音………………………………………………………… 126
6.8.2 從聲音庫選取聲音……………………………………………… 127
6.8.3 編輯聲音………………………………………………………… 128
6.8.4 播放聲音………………………………………………………… 129
第7 章電子賀卡e-card
7.1 腳本規劃…………………………………………………………… 133
7.2 角色造型動畫……………………………………………………… 135
7.2.1 從背景庫中選擇背景…………………………………………… 135
7.2.2 復製文字與造型動畫…………………………………………… 136
7.3 偵測賬戶名稱……………………………………………………… 140
7.4 說“連接”偵測日期……………………………………………… 141
7.5 鼠標碰到與單擊一下的造型特效………………………………… 142
7.6 廣播角色隱藏及顯示……………………………………………… 144
7.6.1 鼠標按下觸發廣播消息………………………………………… 145
7.6.2 角色接收到 play 後隱藏……………………………………… 145
7.6.3 舞颱接收到 play 時賀卡翻頁………………………………… 146
7.7 水平隨機重復移動………………………………………………… 146
7.7.1 造型動畫………………………………………………………… 146
7.7.2 重復隨機齣現…………………………………………………… 147
7.7.3 重復從右嚮左隨機齣現………………………………………… 148
7.8 剋隆體隨機顯示及特效…………………………………………… 150
7.8.1 創造剋隆體……………………………………………………… 150
7.8.2 産生剋隆體時閃爍……………………………………………… 152
7.8.3 剋隆體移動縮放………………………………………………… 153
第8 章月亮變化
8.1 腳本規劃…………………………………………………………… 158
8.2 編輯中文舞颱背景………………………………………………… 158
8.2.1 選擇背景圖片…………………………………………………… 158
8.2.2 上傳角色及造型………………………………………………… 159
8.3 鍵盤控製程序開始………………………………………………… 161
8.3.1 月亮變化的設計流程…………………………………………… 161
8.3.2 設置程序開始造型……………………………………………… 161
8.4 設置變量為角色的造型編號……………………………………… 162
8.5 鍵盤輸入查詢…………………………………………………… 163
8.5.1 鍵盤控製查詢…………………………………………………… 163
8.5.2 鍵盤控製停止…………………………………………………… 163
8.6 用“如果條件”來判斷月象…………………………………… 164
8.6.1 查詢月亮變化判斷的流程……………………………………… 164
8.6.2 查詢新月或朔…………………………………………………… 165
8.6.3 查詢其他月亮變化……………………………………………… 165
8.7 將項目上傳到官網進行分享……………………………………… 166
8.7.1 官網注冊用戶賬號……………………………………………… 166
8.7.2 分享作品——上傳作品至官網………………………………… 168
第9 章打棒球
9.1 腳本規劃…………………………………………………………… 176
9.2 舞颱與角色布置…………………………………………………… 177
9.2.1 從本地文件中上傳背景………………………………………… 177
9.2.2 新建與復製角色………………………………………………… 177
9.2.3 上傳角色………………………………………………………… 179
9.3 錄製、編輯與播放聲音…………………………………………… 179
9.3.1 錄音……………………………………………………………… 179
9.3.2 播放聲音………………………………………………………… 180
9.4 以視頻移動、聲音或時間來啓動程序…………………………… 181
9.4.1 開啓攝像頭……………………………………………………… 181
9.4.2 偵測視頻移動…………………………………………………… 182
9.5 球速變化…………………………………………………………… 183
9.6 從固定起始位置移到隨機位置…………………………………… 184
9.6.1 設置固定起始位置……………………………………………… 184
9.6.2 移到隨機位置…………………………………………………… 185
9.7 偵測碰到…………………………………………………………… 186
9.7.1 “棒球”碰到“球棒”…………………………………………… 186
9.7.2 “棒球”碰到“球棒”播放聲音……………………………… 186
9.7.3 “棒球”碰到“球棒”打擊加1 分…………………………… 186
9.7.4 “棒球”碰到“球棒”時棒球反彈…………………………… 187
9.8 偵測鼠標坐標控製球棒移動……………………………………… 187
9.8.1 偵測鼠標坐標…………………………………………………… 188
9.8.2 揮棒時球棒鏇轉………………………………………………… 189
9.9 定時顯示與隱藏…………………………………………………… 190
9.9.1 當打擊分數大於5 分時啦啦隊顯示…………………………… 190
9.9.2 啦啦隊加油切換造型…………………………………………… 191
9.9.3 啦啦隊說完隱藏10 秒後再齣現……………………………… 191
9.10 倒數計時………………………………………………………… 192
9.10.1 倒數計時180 秒……………………………………………… 192
9.10.2 設定變量的起始值…………………………………………… 193
第10 章在綫測驗大考驗
10.1 腳本規劃………………………………………………………… 198
10.2 編輯中文角色造型……………………………………………… 198
10.2.1 從背景庫選擇背景…………………………………………… 199
10.2.2 上傳中文角色造型…………………………………………… 199
10.2.3 上傳舞颱背景………………………………………………… 201
10.2.4 新建開始角色………………………………………………… 201
10.3 廣播控製程序開始……………………………………………… 201
10.3.1 設定開始舞颱及角色………………………………………… 201
10.3.2 廣播控製程序開始…………………………………………… 202
10.4 距離偵測特效…………………………………………………… 203
10.5 接收到廣播開始就齣題………………………………………… 204
10.5.1 齣題設計流程………………………………………………… 204
10.5.2 接收到廣播開始齣題………………………………………… 204
10.6 答題……………………………………………………………… 205
10.6.1 詢問與迴答…………………………………………………… 205
10.6.2 判斷迴答……………………………………………………… 206
第11 章畫圓求麵積
11.1 腳本規劃………………………………………………………… 214
11.2 上傳背景與新建角色…………………………………………… 214
11.2.1 從本地文件中上傳背景……………………………………… 214
11.2.2 新建角色……………………………………………………… 215
11.3 提問輸入半徑…………………………………………………… 215
11.3.1 將半徑設定為輸入迴答……………………………………… 215
11.3.2 說:“畫半徑” ………………………………………………… 216
11.4 畫筆落筆………………………………………………………… 216
11.4.1 設定落筆顔色及大小………………………………………… 216
11.4.2 畫半徑………………………………………………………… 217
11.4.3 畫圓…………………………………………………………… 217
11.5 計算周長………………………………………………………… 219
11.5.1 計算圓周長…………………………………………………… 219
11.5.2 說圓周長……………………………………………………… 220
11.6 計算麵積………………………………………………………… 221
11.6.1 計算圓麵積並說圓麵積……………………………………… 221
11.6.2 按空格鍵重新輸入…………………………………………… 221
前言/序言
推薦序
在信息時代,麵對從小成長於通信信息科技普及世界的信息“原住民”,學習信息科學是當前世界各國都在積極推動的教育改革中必備的一環。世界各國在推動學習信息科學時不斷地深入探索,而程序設計語言就是其中必修的課程之一。從許多最新研究文獻中發現,學習程序設計語言能夠訓練邏輯思維,並培養解決問題的能力以及創造性思維的能力等。《Scratch 2.0動畫遊戲與創意設計教程》的教材內容可以銜接九年義務教育中的信息科學教育,並結閤信息科技的發展趨勢,兼具時代性及前瞻性,是想要學習程序設計語言的初學者或者想提高程序設計語言能力者必修的一本書。
使用 Scratch 學習程序設計語言的好處
Scratch 是美國麻省理工學院媒體實驗室( MIT Media Lab)所開發的程序設計語言,目前已被世界各國翻譯成 40 多種語言,並且能夠在 Windows、Mac 或 Linux 等操作係統上運行。學習者隻要輕鬆地以堆砌積木的方式就能創造齣交互式的故事、動畫、遊戲、音樂及藝術等專題。 Scratch 不僅是一套免費的軟件,它的功能還與時俱進,並且涵蓋瞭當前信息科技廣泛應用的最新體驗、聲控、視頻、社交、雲計算等功能。所以學習 Scratch,可將個人的創意與全世界分享和接軌。
讀《Scratch 2.0動畫遊戲與創意設計教程》的好處
本書是由麗君老師多年教學和研究經驗匯集而成,內容顛覆瞭傳統程序設計隻是套用現成算法、背誦程序設計語言的英文語法或隻局限在設計娛樂性遊戲的範疇,而是在教材中綜閤瞭信息科技各個領域的知識,並根據教學目標與教學綱要進行編選,生動活潑、淺顯易懂,符閤學生和初學者的認知能力與身心發展。書中的教材範例與說明結閤瞭學生和初學者的日常生活與學習經驗,兼具趣味性與挑戰性;教材設計流程從腳本規劃、流程圖到拖曳程序指令積木進行程序的“搭建”,運用瞭“在實踐中學”的學習方式,引導學生和初學者進行自主性與探索
推薦式的學習,同時培養學生獨立思考、不斷嘗試創新、團隊溝通閤作、發布分享與解決問題的能力。本書的實踐練習與課後練習兼具認知、技能與情意,並涵蓋學生的記憶、理解、應用、分析、評鑒與創造能力,適閤不同能力的學習者適度加深或拓展學習範圍。相信讀者研讀此書後,必定對程序設計有更加深入和開創性的視野及豐富的收獲。
颱灣師範大學校長張國恩
《像素奇旅:代碼編織的奇幻世界》 內容簡介 歡迎踏上《像素奇旅:代碼編織的奇幻世界》的探索之旅,這不是一本關於特定軟件版本的教程,而是一扇通往無限創意與數字錶達的大門。在這裏,我們不拘泥於任何一種工具的固定語法,而是著眼於核心的編程思維、邏輯構建以及視覺藝術的融閤,旨在激發你內心深處對創作的渴望,並為你提供一套通用且富有彈性的方法論,讓你無論身處何種技術環境,都能自由地編織屬於自己的數字故事。 本書的核心在於“思維”。我們相信,真正的創造力並非源於對復雜命令的熟記,而是源於對問題分解、模式識彆和流程設計的深刻理解。因此,在《像素奇旅》中,你將不會看到冗長的軟件操作指南,取而代之的是一係列引人入勝的思維訓練和概念解析。我們會從最基礎的“指令”開始,探討如何將抽象的想法轉化為一係列可執行的步驟,就像一位古代工匠如何規劃木料,又像一位語言學傢如何構建句子。我們將深入講解“序列”的力量,理解事件發生的先後順序如何決定故事的走嚮,如同電影的分鏡腳本,每一個鏡頭都承載著信息和情緒的傳遞。 “循環”與“條件”是構建動態世界的基石。我們將用生動形象的比喻,讓你明白“重復”為何能創造齣驚人的視覺效果,例如遊戲中角色的行走動畫,或是星辰大海的閃爍。而“如果……那麼……”的邏輯判斷,則是賦予數字生命的核心。你將學會如何讓你的角色在遇到障礙時做齣反應,如何在特定條件下觸發事件,甚至是如何設計齣具有自我學習和適應能力的微小“生命”。這些看似簡單的概念,卻是所有復雜程序運行的底層邏輯。 除瞭邏輯思維,視覺敘事同樣是本書的重要組成部分。我們鼓勵你用“像素”作為畫筆,用“色彩”作為墨水,在數字畫布上描繪齣你的想象。本書將探討“形狀”與“輪廓”的構成,如何通過簡單的幾何圖形組閤齣復雜的人物和場景。我們將深入“色彩理論”的原理,理解不同色彩的情感聯結,以及如何運用色彩的對比、和諧來烘托氣氛,引導觀眾的情緒。同時,我們也會關注“運動”與“動畫”的藝術,從簡單的位移動畫,到復雜的變形和交互反饋,你將學習如何讓你的角色“活”起來,賦予它們流暢自然的肢體語言。 “事件驅動”是構建交互體驗的靈魂。我們不再僅僅是單嚮的講述者,而是成為引導者,讓你的觀眾能夠參與到數字世界的構建中來。你將學習如何響應用戶的“點擊”、“拖拽”、“鍵盤輸入”等行為,並設計相應的反饋機製。這種交互性,是將靜態的數字圖像轉化為一個充滿活力的“遊戲”或“故事”的關鍵。我們會引導你思考,如何設計關卡,如何設置挑戰,如何提供奬勵,從而讓你的作品引人入勝,讓參與者樂在其中。 “數據與變量”則是賦予數字世界“記憶”和“個性”的能力。想象一下,你的遊戲角色擁有生命值、得分,或是背包裏裝著各種物品。這些都需要通過“變量”來存儲和管理。我們將幫助你理解如何定義和使用變量,如何隨著遊戲的進行實時更新它們,從而創造齣更具深度和策略性的體驗。你甚至可以探索如何利用“列錶”或“數組”來存儲一組相關的數據,例如一個關卡中所有敵人的位置信息,或是玩傢收集到的所有道具。 “函數”的概念,是將重復性的操作進行封裝,如同為你的工具箱添加一個強大的預設工具。當你需要執行一係列相似的任務時,無需重復編寫代碼,隻需調用一個已經定義好的“函數”,就能輕鬆完成。這將極大地提高你的工作效率,並讓你能夠構建齣更加模塊化和易於維護的作品。我們將演示如何設計和使用自定義函數,讓你的創作過程更加靈活和高效。 “調試”是創意過程中不可或缺的一環。即使是最有經驗的創作者,也會遇到“bug”。本書將教會你如何像偵探一樣,冷靜分析問題,定位錯誤,並找到解決方案。我們不會把調試看作是一種挫敗,而是一種學習和成長的機會。通過解決一個又一個的難題,你的邏輯思維和問題解決能力將得到極大的提升。 《像素奇旅》並非止步於技術的講解,它更緻力於激發你的“創意火花”。在書中,你將看到大量不同主題和風格的“案例分析”。這些案例並非簡單的代碼復製,而是對創作思路的拆解和呈現。我們會分析一個簡單的互動故事是如何構思的,一個動態的藝術裝置是如何通過代碼來實現的,以及一個基礎的益智遊戲是如何從零開始構建的。這些案例將為你提供豐富的靈感來源,並展示齣編程思維在不同領域的應用潛力。 我們鼓勵你“跨界融閤”。編程不再是少數極客的專屬技能,它是一種強大的創作工具,可以與文學、藝術、音樂、教育等各個領域相結閤。你將瞭解到,如何將文字故事轉化為動態的動畫,如何用代碼生成獨特的音樂片段,或者如何設計一個能夠教授基礎科學概念的交互式學習工具。本書的目的,就是讓你看到編程在數字時代無限的可能性。 最後,《像素奇旅》強調的是“實踐與探索”。我們為你提供的是一套方法論和一套思維框架,而真正的學習,源於你親自動手去實踐。我們會提供一係列的“挑戰任務”,從易到難,讓你在解決問題的過程中不斷鞏固所學知識,並逐步挑戰自己的極限。我們鼓勵你在掌握基礎之後,大膽地去嘗試、去修改、去創新,用你獨特的視角和想法,去創造齣屬於你自己的“像素奇旅”。 本書旨在為你提供一個堅實的基礎,讓你能夠理解數字世界的運作邏輯,掌握創造動態視覺內容的核心技能,並培養解決問題和不斷學習的能力。無論你是想為自己的故事賦予生命,還是想探索數字藝術的邊界,抑或是想為未來的學習和職業生涯打下堅實的基礎,《像素奇旅:代碼編織的奇幻世界》都將是你旅程中不可或缺的指南。在這裏,你將不再是被動的信息接收者,而是成為一個活躍的創作者,用你的智慧和雙手,編織齣屬於你自己的數字奇跡。