[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.96,0:00:03.03,Default,,0000,0000,0000,,讓我們探索更多繪圖的事情吧 Dialogue: 0,0:00:03.03,0:00:05.27,Default,,0000,0000,0000,,除了長方形外,我們還可以畫什麼? Dialogue: 0,0:00:05.27,0:00:07.72,Default,,0000,0000,0000,,我們能用ellipse這個字來畫橢圓形 Dialogue: 0,0:00:07.72,0:00:09.44,Default,,0000,0000,0000,,這是另一個電腦明白的指令 Dialogue: 0,0:00:09.80,0:00:12.78,Default,,0000,0000,0000,,我們其實有一個特殊的程設用詞來代表指令 Dialogue: 0,0:00:12.78,0:00:14.75,Default,,0000,0000,0000,,我們把它們稱作「函數」 Dialogue: 0,0:00:14.75,0:00:17.79,Default,,0000,0000,0000,,從現在起我會使用函數這詞來代表指令 Dialogue: 0,0:00:18.51,0:00:20.84,Default,,0000,0000,0000,,我們繼續寫入ellipse這函數 Dialogue: 0,0:00:20.84,0:00:22.79,Default,,0000,0000,0000,,然後括號 () 及一個分號 ; Dialogue: 0,0:00:23.00,0:00:24.00,Default,,0000,0000,0000,,行不通! Dialogue: 0,0:00:24.00,0:00:26.14,Default,,0000,0000,0000,,出現了這個有關參數的錯誤訊息 Dialogue: 0,0:00:26.14,0:00:27.37,Default,,0000,0000,0000,,無論哪是什麼 Dialogue: 0,0:00:27.37,0:00:30.33,Default,,0000,0000,0000,,跟我們剛用rect來寫的比較,你能看到我們少了什麼嗎? Dialogue: 0,0:00:30.87,0:00:33.29,Default,,0000,0000,0000,,我們剛寫入ellipse時,我們沒有給它數字 Dialogue: 0,0:00:33.29,0:00:35.03,Default,,0000,0000,0000,,像我們畫長方形時所做的 Dialogue: 0,0:00:35.03,0:00:37.06,Default,,0000,0000,0000,,這些數字在這裡稱作「參數」 Dialogue: 0,0:00:37.46,0:00:40.50,Default,,0000,0000,0000,,我們說我們傳遞參數去函數裏 Dialogue: 0,0:00:40.50,0:00:43.00,Default,,0000,0000,0000,,它們控制函數如何運作 Dialogue: 0,0:00:45.47,0:00:46.52,Default,,0000,0000,0000,,沒有這些參數 Dialogue: 0,0:00:46.52,0:00:48.72,Default,,0000,0000,0000,,程式便不知道你想將橢圓形畫在哪裡 Dialogue: 0,0:00:48.72,0:00:49.90,Default,,0000,0000,0000,,或要把它畫得多大 Dialogue: 0,0:00:50.15,0:00:52.53,Default,,0000,0000,0000,,現在那錯誤訊息顯得比較合理了 Dialogue: 0,0:00:52.53,0:00:54.72,Default,,0000,0000,0000,,讓我們繼續傳入四個參數 Dialogue: 0,0:00:54.72,0:01:00.66,Default,,0000,0000,0000,,來控制我們要那橢圓形向右移多少、向下移多少、多寬、和多高 Dialogue: 0,0:01:00.75,0:01:03.77,Default,,0000,0000,0000,,就像先前,我們可以找點樂趣,將我們的橢圓形移來移去 Dialogue: 0,0:01:03.77,0:01:05.78,Default,,0000,0000,0000,,甚至將它變大變小 Dialogue: 0,0:01:08.20,0:01:11.63,Default,,0000,0000,0000,,現在我們已有基本知識,來試畫一個大橢圓形 Dialogue: 0,0:01:11.63,0:01:13.29,Default,,0000,0000,0000,,在畫布的正中央 Dialogue: 0,0:01:13.96,0:01:16.54,Default,,0000,0000,0000,,第一個你可能會提出的的問題是:中央在哪裡? Dialogue: 0,0:01:17.50,0:01:20.30,Default,,0000,0000,0000,,複習一下,左上角是0 Dialogue: 0,0:01:20.30,0:01:25.49,Default,,0000,0000,0000,,右邊,如果你記得的話,是400,而最下方也是400 Dialogue: 0,0:01:25.49,0:01:27.76,Default,,0000,0000,0000,,所以如果我們想想:正中央會在哪呢? Dialogue: 0,0:01:27.76,0:01:31.28,Default,,0000,0000,0000,,我們會說:是向右400的一半,所以200 Dialogue: 0,0:01:31.28,0:01:33.76,Default,,0000,0000,0000,,然後向下400的一半,所以200 Dialogue: 0,0:01:33.76,0:01:34.89,Default,,0000,0000,0000,,我們就那樣做 Dialogue: 0,0:01:34.89,0:01:36.75,Default,,0000,0000,0000,,來用我們的ellipse函數 Dialogue: 0,0:01:36.75,0:01:40.79,Default,,0000,0000,0000,,傳入參數,去做一個挺大的橢圓形 Dialogue: 0,0:01:41.47,0:01:42.81,Default,,0000,0000,0000,,有了! Dialogue: 0,0:01:43.48,0:01:45.77,Default,,0000,0000,0000,,只是好玩,讓我們也放一個長方形在那 Dialogue: 0,0:01:46.24,0:01:50.22,Default,,0000,0000,0000,,寫入 rect(200, 200 ,也許小一點,100, 100); Dialogue: 0,0:01:50.22,0:01:53.00,Default,,0000,0000,0000,,嗯,這蠻有趣的 Dialogue: 0,0:01:53.00,0:01:54.81,Default,,0000,0000,0000,,這小小的實驗告訴我們什麼? Dialogue: 0,0:01:55.18,0:01:58.00,Default,,0000,0000,0000,,我們可以看到 200, 200 的點 Dialogue: 0,0:01:58.00,0:02:01.77,Default,,0000,0000,0000,,實際上是指我們該放置橢圓形的中心位置 Dialogue: 0,0:02:01.77,0:02:04.50,Default,,0000,0000,0000,,但對長方形卻是不同的,因為對長方形來說 Dialogue: 0,0:02:04.50,0:02:08.54,Default,,0000,0000,0000,,200, 200 是指我們放置長方形的左上角位置 Dialogue: 0,0:02:09.97,0:02:13.20,Default,,0000,0000,0000,,那是我們試定圖形位置時須記住的 Dialogue: 0,0:02:14.75,0:02:16.56,Default,,0000,0000,0000,,現在讓我們進入簡易線形 Dialogue: 0,0:02:16.82,0:02:19.28,Default,,0000,0000,0000,,函數名稱就叫做line而已 Dialogue: 0,0:02:19.48,0:02:21.77,Default,,0000,0000,0000,,我們又傳入四個參數給它 Dialogue: 0,0:02:21.77,0:02:24.98,Default,,0000,0000,0000,,但一條線的大小跟一個長方形的不太一樣,對吧? Dialogue: 0,0:02:25.23,0:02:27.32,Default,,0000,0000,0000,,所以那這些數字會控制什麼? Dialogue: 0,0:02:28.48,0:02:31.27,Default,,0000,0000,0000,,第一個和第二個參數,跟之前一樣 Dialogue: 0,0:02:31.27,0:02:34.26,Default,,0000,0000,0000,,指的是這條線應該從多右方及多下方開始 Dialogue: 0,0:02:34.54,0:02:36.56,Default,,0000,0000,0000,,而第二之後的參數 -- Dialogue: 0,0:02:36.98,0:02:40.02,Default,,0000,0000,0000,,對不起,是第二組參數,90和200 Dialogue: 0,0:02:40.02,0:02:43.60,Default,,0000,0000,0000,,將代表這條線應該在多右方及多下方終止 Dialogue: 0,0:02:46.52,0:02:48.24,Default,,0000,0000,0000,,現在我們了解那是如何運作 Dialogue: 0,0:02:48.24,0:02:51.76,Default,,0000,0000,0000,,讓我們來看看某些一開始會看起來相當奇怪的東西 Dialogue: 0,0:02:52.50,0:02:55.76,Default,,0000,0000,0000,,如果我使長方形在左上角起始的話 Dialogue: 0,0:02:55.76,0:03:00.18,Default,,0000,0000,0000,,然後再指定那長方形的左上角的話,會令什麼事情發生? Dialogue: 0,0:03:00.91,0:03:02.86,Default,,0000,0000,0000,,且相當大 Dialogue: 0,0:03:03.99,0:03:07.02,Default,,0000,0000,0000,,我們甚至可以使它那麼大,但我想那有點太大了 Dialogue: 0,0:03:07.78,0:03:11.76,Default,,0000,0000,0000,,我們看到它逐漸開始令橢圓形消失 Dialogue: 0,0:03:11.88,0:03:13.80,Default,,0000,0000,0000,,我們其實可以使它完全消失 Dialogue: 0,0:03:14.76,0:03:16.54,Default,,0000,0000,0000,,現在我們懷疑它跑去哪了 Dialogue: 0,0:03:17.77,0:03:21.50,Default,,0000,0000,0000,,這程式所做的是依照次序地繪製你的圖形 Dialogue: 0,0:03:21.50,0:03:24.70,Default,,0000,0000,0000,,首先它畫出橢圓形,然後它畫那長方形在上面 Dialogue: 0,0:03:24.70,0:03:26.50,Default,,0000,0000,0000,,最後它便畫線條 Dialogue: 0,0:03:26.50,0:03:29.76,Default,,0000,0000,0000,,所以橢圓形仍然在那,只是像你看到的,在底下而已 Dialogue: 0,0:03:30.77,0:03:32.50,Default,,0000,0000,0000,,這是要記住的很重要的一點 Dialogue: 0,0:03:32.50,0:03:35.81,Default,,0000,0000,0000,,因為如果我們先畫線條的話會發生什麼事? Dialogue: 0,0:03:36.50,0:03:38.52,Default,,0000,0000,0000,,我們就完全看不到它了,不是嗎? Dialogue: 0,0:03:38.52,0:03:41.73,Default,,0000,0000,0000,,你可能會在程式中那麼做然後懷疑:我的線跑哪去了? Dialogue: 0,0:03:41.74,0:03:45.02,Default,,0000,0000,0000,,事實是它還在那,只是現在被掩蓋住 Dialogue: 0,0:03:45.02,0:03:48.08,Default,,0000,0000,0000,,被橢圓形及長方形同時所掩蓋 Dialogue: 0,0:03:50.25,0:03:53.50,Default,,0000,0000,0000,,我們能控制哪些圖形被畫在哪其他圖形的上面 Dialogue: 0,0:03:53.50,0:03:56.56,Default,,0000,0000,0000,,藉著改變它們被寫入在程式中的次序 Dialogue: 0,0:03:58.59,0:04:02.25,Default,,0000,0000,0000,,現在,我想在我們結束之前介紹一些技術用語 Dialogue: 0,0:04:02.77,0:04:04.51,Default,,0000,0000,0000,,就像你可能已在數學中學到的 Dialogue: 0,0:04:04.51,0:04:07.81,Default,,0000,0000,0000,,我們可以用x這個字母來表示向右移多少 Dialogue: 0,0:04:07.81,0:04:09.22,Default,,0000,0000,0000,,就像我們提過的 Dialogue: 0,0:04:09.22,0:04:11.53,Default,,0000,0000,0000,,用y字母表示向下移多少 Dialogue: 0,0:04:11.53,0:04:14.00,Default,,0000,0000,0000,,不習慣的話那可能看似有點奇怪 Dialogue: 0,0:04:14.00,0:04:18.72,Default,,0000,0000,0000,,但它是比每次說「向右移多少和向下移多少」容易 Dialogue: 0,0:04:19.49,0:04:22.22,Default,,0000,0000,0000,,我們橢圓形的前兩個參數,例如說 Dialogue: 0,0:04:22.22,0:04:27.53,Default,,0000,0000,0000,,在說x該是200,而y該是229 Dialogue: 0,0:04:28.97,0:04:30.25,Default,,0000,0000,0000,,現在你們知道了 Dialogue: 0,0:04:30.25,0:04:33.04,Default,,0000,0000,0000,,就跟說「向右移多少和向下移多少」一樣 Dialogue: 0,0:04:33.98,0:04:36.03,Default,,0000,0000,0000,,一個你可能會提出的第二個非常好的問題是: Dialogue: 0,0:04:36.03,0:04:38.62,Default,,0000,0000,0000,,這整個時間我們使用的是什麼單位? Dialogue: 0,0:04:38.79,0:04:42.76,Default,,0000,0000,0000,,我們說的是200公分、200英寸還是200英里? Dialogue: 0,0:04:42.76,0:04:44.81,Default,,0000,0000,0000,,我們使用的單位稱作「像素」 Dialogue: 0,0:04:45.26,0:04:47.90,Default,,0000,0000,0000,,而一個像素是你螢幕上一個微小的點 Dialogue: 0,0:04:48.48,0:04:51.96,Default,,0000,0000,0000,,這個畫布事實上就是400像素寬 Dialogue: 0,0:04:52.29,0:04:56.50,Default,,0000,0000,0000,,那就是為什麼我們總是說左上角是0 Dialogue: 0,0:04:56.50,0:05:00.59,Default,,0000,0000,0000,,然後向右到底是400,因為它是400個像素 Dialogue: 0,0:05:01.51,0:05:04.86,Default,,0000,0000,0000,,類似地,當我們說200,實際上我們指的是200個像素 Dialogue: 0,0:05:04.86,0:05:06.54,Default,,0000,0000,0000,,你該已懂了 Dialogue: 0,0:05:07.18,0:05:08.30,Default,,0000,0000,0000,,太好了! Dialogue: 0,0:05:08.30,0:05:10.79,Default,,0000,0000,0000,,現在你已經完全了解函數 line、ellipse、和rect Dialogue: 0,0:05:10.79,0:05:12.00,Default,,0000,0000,0000,,以及它們的參數 Dialogue: 0,0:05:12.25,0:05:14.76,Default,,0000,0000,0000,,我們已經涵蓋了很多,只要堅持下去,持續發掘 Dialogue: 0,0:05:14.76,0:05:16.42,Default,,0000,0000,0000,,很快你便會找到它的竅門