If述句(影像版)
-
0:01 - 0:03唷呼!另一個動畫
-
0:03 - 0:05這次我們有顆球在螢幕上移動
-
0:05 - 0:07而你們知道這是如何辦到的
-
0:07 - 0:10我們的變數"x"代表這顆球的位置
-
0:10 - 0:14另一個變數"速度"代表這顆球每次移動的距離
-
0:14 - 0:15及熟悉的繪圖迴圈
-
0:15 - 0:17用來重新繪製每一次的背景
-
0:17 - 0:20設定填充顏色並在x位置畫一個橢圓形
-
0:20 - 0:21且每一次
-
0:21 - 0:24我們要將x改回舊的x值
-
0:24 - 0:26再加上"速度" 這個變數
-
0:26 - 0:33所以若我使"速度"減小
球移動的速度就慢一點 -
0:33 - 0:36也可以使"速度"為負數,則球向後移動
-
0:36 - 0:38或使它為零,則球會停止移動
-
0:38 - 0:41但只要速度不為零
-
0:41 - 0:44最終球將會移到螢幕外
-
0:44 - 0:46我可以按重新開始鍵把它帶回來
-
0:46 - 0:50但你知道,一段時間後,就膩了
-
0:50 - 0:52重來,再重來
-
0:52 - 0:56所以何不試試這個?當球觸及螢幕右邊邊界時
-
0:56 - 0:59與其像現在這樣超出螢幕的邊界
-
0:59 - 1:00我想讓它轉個彎
-
1:00 - 1:07而且,我知道如何讓球轉彎
我只需要說:"速度"為負5 -
1:07 - 1:10若我使速度為負,則球會向後走
-
1:10 - 1:12但這有個問題
-
1:12 - 1:18我只想在當球觸及右邊邊界時,
才去改變速度的值 -
1:18 - 1:20我想我已經說了
-
1:20 - 1:26我只想在球觸及右邊邊界時,
才去改變速度的值 -
1:26 - 1:28我想這裡需要一個if述句
-
1:28 - 1:30到目前為止,我們只下達
-
1:30 - 1:32電腦無論如何就去執行的指令
-
1:32 - 1:34if述句是一種方式去說:
-
1:34 - 1:36「嘿,夥計,我要你去執行這個程式碼
-
1:36 - 1:39但僅只在這些特定的條件下。」
-
1:39 - 1:43「所以,只有當球已觸及右邊邊界時,才改變速度」
-
1:43 - 1:45而這是它在程式碼中看起來的樣子
-
1:45 - 1:48你要做的就是打上"IF"
-
1:48 - 1:51一對小括號,一對大括號
-
1:51 - 1:54在小括號內,填入條件
-
1:54 - 1:58在大括號內,填入要執行的程式碼
-
1:58 - 2:01它運作的方式是:
「若此條件為真, -
2:01 - 2:04則執行此程式碼;
否則,就不執行。」 -
2:04 - 2:08在我們的例子中,條件指的是
球觸及右邊邊界 -
2:08 - 2:10我們如何得知
球是否已觸及右邊邊界呢? -
2:10 - 2:14我們有變數x,告訴我們球的位置
-
2:14 - 2:23且我知道畫布邊緣的x位置為400
所以來看一下 -
2:23 - 2:26當x大於400時
-
2:26 - 2:30則我們知道球已經些微超過右邊邊界
-
2:30 - 2:32來看一下那是如何運作的
-
2:32 - 2:39再來看要執行的程式碼,我們之前已經說過,
我們改變速度,使之為負5。 -
2:39 - 2:42我們來看看按重新開始會發生什麼事
-
2:42 - 2:46這次,當球觸及右邊邊界時,
它彈回來了!耶! -
2:46 - 2:48然後持續走到螢幕外
-
2:48 - 2:50但沒關係,我們可以對另一邊做相同的事
-
2:50 - 2:53這一次,我們想確認球是否已觸及左邊邊界
-
2:53 - 2:58也就是當x小於零時
-
2:58 - 3:03而我們想做的是使速度再次為正,
於是指定速度為5 -
3:04 - 3:07好了,然後我們按下重新開始
-
3:07 - 3:11而這次...........蹦..........
-
3:11 - 3:14蹦...........蹦..........
-
3:15 - 3:17耶!成功了
-
3:17 - 3:20我們來檢查看看球是否已經超出邊界
-
3:20 - 3:24它好像有一點超出邊界
-
3:24 - 3:27如果你記得,這兩個參數控制
-
3:27 - 3:29橢圓形中心點的位置
-
3:29 - 3:33而現在,當中心點觸及邊界的同時
-
3:33 - 3:37一半的橢圓形已經超出邊界
-
3:37 - 3:40所以若我們想修正它,只需早一點使橢圓形停止
-
3:40 - 3:46邊界在400這裡,
而我們希望當橢圓形到這裡時停止 -
3:46 - 3:53可以從功能呼叫知道橢圓形寬為50
-
3:53 - 3:59那表示從中心點到邊緣為25
-
3:59 - 4:03所以我們希望當中心點到達375時停止
-
4:03 - 4:06也就是400減去25
-
4:06 - 4:08代替檢查x是否大於400
-
4:08 - 4:11我們改為檢查x是否大於375
-
4:11 - 4:13代替檢查x是否大於0
-
4:13 - 4:16改為檢查x是否小於25
-
4:17 - 4:21現在超完美的!耶!
看看球彈跳的樣子
Yi Yi Hsieh edited Chinese, Traditional subtitles for If Statements (Video Version) | ||
Yi Yi Hsieh edited Chinese, Traditional subtitles for If Statements (Video Version) | ||
Bernice Huang edited Chinese, Traditional subtitles for If Statements (Video Version) | ||
Bernice Huang edited Chinese, Traditional subtitles for If Statements (Video Version) | ||
Bernice Huang edited Chinese, Traditional subtitles for If Statements (Video Version) | ||
Bernice Huang edited Chinese, Traditional subtitles for If Statements (Video Version) | ||
Bernice Huang edited Chinese, Traditional subtitles for If Statements (Video Version) | ||
Bernice Huang edited Chinese, Traditional subtitles for If Statements (Video Version) |