0:00:00.960,0:00:03.029 讓我們探索更多繪圖的事情吧 0:00:03.029,0:00:05.270 除了長方形外,我們還可以畫什麼? 0:00:05.270,0:00:07.716 我們能用ellipse這個字來畫橢圓形 0:00:07.716,0:00:09.442 這是另一個電腦明白的指令 0:00:09.798,0:00:12.775 我們其實有一個特殊的程設用詞來代表指令 0:00:12.775,0:00:14.751 我們把它們稱作「函數」 0:00:14.751,0:00:17.790 從現在起我會使用函數這詞來代表指令 0:00:18.510,0:00:20.836 我們繼續寫入ellipse這函數 0:00:20.836,0:00:22.790 然後括號 () 及一個分號 ; 0:00:23.000,0:00:24.005 行不通! 0:00:24.005,0:00:26.136 出現了這個有關參數的錯誤訊息 0:00:26.136,0:00:27.367 無論哪是什麼 0:00:27.367,0:00:30.330 跟我們剛用rect來寫的比較,你能看到我們少了什麼嗎? 0:00:30.872,0:00:33.291 我們剛寫入ellipse時,我們沒有給它數字 0:00:33.291,0:00:35.030 像我們畫長方形時所做的 0:00:35.030,0:00:37.060 這些數字在這裡稱作「參數」 0:00:37.460,0:00:40.500 我們說我們傳遞參數去函數裏 0:00:40.500,0:00:43.000 它們控制函數如何運作 0:00:45.470,0:00:46.523 沒有這些參數 0:00:46.523,0:00:48.716 程式便不知道你想將橢圓形畫在哪裡 0:00:48.716,0:00:49.901 或要把它畫得多大 0:00:50.151,0:00:52.530 現在那錯誤訊息顯得比較合理了 0:00:52.530,0:00:54.717 讓我們繼續傳入四個參數 0:00:54.717,0:01:00.665 來控制我們要那橢圓形向右移多少、向下移多少、多寬、和多高 0:01:00.753,0:01:03.771 就像先前,我們可以找點樂趣,將我們的橢圓形移來移去 0:01:03.771,0:01:05.775 甚至將它變大變小 0:01:08.205,0:01:11.633 現在我們已有基本知識,來試畫一個大橢圓形 0:01:11.633,0:01:13.292 在畫布的正中央 0:01:13.962,0:01:16.535 第一個你可能會提出的的問題是:中央在哪裡? 0:01:17.505,0:01:20.299 複習一下,左上角是0 0:01:20.299,0:01:25.490 右邊,如果你記得的話,是400,而最下方也是400 0:01:25.490,0:01:27.761 所以如果我們想想:正中央會在哪呢? 0:01:27.761,0:01:31.285 我們會說:是向右400的一半,所以200 0:01:31.285,0:01:33.759 然後向下400的一半,所以200 0:01:33.759,0:01:34.894 我們就那樣做 0:01:34.894,0:01:36.746 來用我們的ellipse函數 0:01:36.746,0:01:40.788 傳入參數,去做一個挺大的橢圓形 0:01:41.468,0:01:42.810 有了! 0:01:43.480,0:01:45.772 只是好玩,讓我們也放一個長方形在那 0:01:46.242,0:01:50.216 寫入 rect(200, 200 ,也許小一點,100, 100); 0:01:50.216,0:01:53.005 嗯,這蠻有趣的 0:01:53.005,0:01:54.813 這小小的實驗告訴我們什麼? 0:01:55.183,0:01:58.000 我們可以看到 200, 200 的點 0:01:58.000,0:02:01.767 實際上是指我們該放置橢圓形的中心位置 0:02:01.767,0:02:04.498 但對長方形卻是不同的,因為對長方形來說 0:02:04.498,0:02:08.539 200, 200 是指我們放置長方形的左上角位置 0:02:09.969,0:02:13.202 那是我們試定圖形位置時須記住的 0:02:14.752,0:02:16.565 現在讓我們進入簡易線形 0:02:16.825,0:02:19.278 函數名稱就叫做line而已 0:02:19.478,0:02:21.773 我們又傳入四個參數給它 0:02:21.773,0:02:24.984 但一條線的大小跟一個長方形的不太一樣,對吧? 0:02:25.234,0:02:27.315 所以那這些數字會控制什麼? 0:02:28.485,0:02:31.270 第一個和第二個參數,跟之前一樣 0:02:31.270,0:02:34.265 指的是這條線應該從多右方及多下方開始 0:02:34.545,0:02:36.561 而第二之後的參數 -- 0:02:36.981,0:02:40.017 對不起,是第二組參數,90和200 0:02:40.017,0:02:43.603 將代表這條線應該在多右方及多下方終止 0:02:46.523,0:02:48.242 現在我們了解那是如何運作 0:02:48.242,0:02:51.761 讓我們來看看某些一開始會看起來相當奇怪的東西 0:02:52.501,0:02:55.761 如果我使長方形在左上角起始的話 0:02:55.761,0:03:00.181 然後再指定那長方形的左上角的話,會令什麼事情發生? 0:03:00.911,0:03:02.861 且相當大 0:03:03.991,0:03:07.017 我們甚至可以使它那麼大,但我想那有點太大了 0:03:07.777,0:03:11.760 我們看到它逐漸開始令橢圓形消失 0:03:11.880,0:03:13.800 我們其實可以使它完全消失 0:03:14.760,0:03:16.543 現在我們懷疑它跑去哪了 0:03:17.773,0:03:21.502 這程式所做的是依照次序地繪製你的圖形 0:03:21.502,0:03:24.702 首先它畫出橢圓形,然後它畫那長方形在上面 0:03:24.702,0:03:26.502 最後它便畫線條 0:03:26.502,0:03:29.762 所以橢圓形仍然在那,只是像你看到的,在底下而已 0:03:30.772,0:03:32.500 這是要記住的很重要的一點 0:03:32.500,0:03:35.808 因為如果我們先畫線條的話會發生什麼事? 0:03:36.498,0:03:38.520 我們就完全看不到它了,不是嗎? 0:03:38.520,0:03:41.730 你可能會在程式中那麼做然後懷疑:我的線跑哪去了? 0:03:41.740,0:03:45.023 事實是它還在那,只是現在被掩蓋住 0:03:45.023,0:03:48.080 被橢圓形及長方形同時所掩蓋 0:03:50.250,0:03:53.501 我們能控制哪些圖形被畫在哪其他圖形的上面 0:03:53.501,0:03:56.562 藉著改變它們被寫入在程式中的次序 0:03:58.592,0:04:02.251 現在,我想在我們結束之前介紹一些技術用語 0:04:02.770,0:04:04.512 就像你可能已在數學中學到的 0:04:04.512,0:04:07.814 我們可以用x這個字母來表示向右移多少 0:04:07.814,0:04:09.216 就像我們提過的 0:04:09.216,0:04:11.528 用y字母表示向下移多少 0:04:11.528,0:04:14.001 不習慣的話那可能看似有點奇怪 0:04:14.001,0:04:18.722 但它是比每次說「向右移多少和向下移多少」容易 0:04:19.493,0:04:22.216 我們橢圓形的前兩個參數,例如說 0:04:22.216,0:04:27.528 在說x該是200,而y該是229 0:04:28.968,0:04:30.250 現在你們知道了 0:04:30.250,0:04:33.042 就跟說「向右移多少和向下移多少」一樣 0:04:33.982,0:04:36.034 一個你可能會提出的第二個非常好的問題是: 0:04:36.034,0:04:38.624 這整個時間我們使用的是什麼單位? 0:04:38.794,0:04:42.763 我們說的是200公分、200英寸還是200英里? 0:04:42.763,0:04:44.810 我們使用的單位稱作「像素」 0:04:45.260,0:04:47.897 而一個像素是你螢幕上一個微小的點 0:04:48.477,0:04:51.957 這個畫布事實上就是400像素寬 0:04:52.287,0:04:56.497 那就是為什麼我們總是說左上角是0 0:04:56.497,0:05:00.588 然後向右到底是400,因為它是400個像素 0:05:01.508,0:05:04.865 類似地,當我們說200,實際上我們指的是200個像素 0:05:04.865,0:05:06.540 你該已懂了 0:05:07.180,0:05:08.303 太好了! 0:05:08.303,0:05:10.788 現在你已經完全了解函數 line、ellipse、和rect 0:05:10.788,0:05:12.003 以及它們的參數 0:05:12.253,0:05:14.761 我們已經涵蓋了很多,只要堅持下去,持續發掘 0:05:14.761,0:05:16.423 很快你便會找到它的竅門