Return to Video

更多繪圖(影片版)

  • 0:01 - 0:03
    讓我們探索更多繪圖的事情吧
  • 0:03 - 0:05
    除了長方形外,我們還可以畫什麼?
  • 0:05 - 0:08
    我們能用ellipse這個字來畫橢圓形
  • 0:08 - 0:09
    這是另一個電腦明白的指令
  • 0:10 - 0:13
    我們其實有一個特殊的程設用詞來代表指令
  • 0:13 - 0:15
    我們把它們稱作「函數」
  • 0:15 - 0:18
    從現在起我會使用函數這詞來代表指令
  • 0:19 - 0:21
    我們繼續寫入ellipse這函數
  • 0:21 - 0:23
    然後括號 () 及一個分號 ;
  • 0:23 - 0:24
    行不通!
  • 0:24 - 0:26
    出現了這個有關參數的錯誤訊息
  • 0:26 - 0:27
    無論哪是什麼
  • 0:27 - 0:30
    跟我們剛用rect來寫的比較,你能看到我們少了什麼嗎?
  • 0:31 - 0:33
    我們剛寫入ellipse時,我們沒有給它數字
  • 0:33 - 0:35
    像我們畫長方形時所做的
  • 0:35 - 0:37
    這些數字在這裡稱作「參數」
  • 0:37 - 0:40
    我們說我們傳遞參數去函數裏
  • 0:40 - 0:43
    它們控制函數如何運作
  • 0:45 - 0:47
    沒有這些參數
  • 0:47 - 0:49
    程式便不知道你想將橢圓形畫在哪裡
  • 0:49 - 0:50
    或要把它畫得多大
  • 0:50 - 0:53
    現在那錯誤訊息顯得比較合理了
  • 0:53 - 0:55
    讓我們繼續傳入四個參數
  • 0:55 - 1:01
    來控制我們要那橢圓形向右移多少、向下移多少、多寬、和多高
  • 1:01 - 1:04
    就像先前,我們可以找點樂趣,將我們的橢圓形移來移去
  • 1:04 - 1:06
    甚至將它變大變小
  • 1:08 - 1:12
    現在我們已有基本知識,來試畫一個大橢圓形
  • 1:12 - 1:13
    在畫布的正中央
  • 1:14 - 1:17
    第一個你可能會提出的的問題是:中央在哪裡?
  • 1:18 - 1:20
    複習一下,左上角是0
  • 1:20 - 1:25
    右邊,如果你記得的話,是400,而最下方也是400
  • 1:25 - 1:28
    所以如果我們想想:正中央會在哪呢?
  • 1:28 - 1:31
    我們會說:是向右400的一半,所以200
  • 1:31 - 1:34
    然後向下400的一半,所以200
  • 1:34 - 1:35
    我們就那樣做
  • 1:35 - 1:37
    來用我們的ellipse函數
  • 1:37 - 1:41
    傳入參數,去做一個挺大的橢圓形
  • 1:41 - 1:43
    有了!
  • 1:43 - 1:46
    只是好玩,讓我們也放一個長方形在那
  • 1:46 - 1:50
    寫入 rect(200, 200 ,也許小一點,100, 100);
  • 1:50 - 1:53
    嗯,這蠻有趣的
  • 1:53 - 1:55
    這小小的實驗告訴我們什麼?
  • 1:55 - 1:58
    我們可以看到 200, 200 的點
  • 1:58 - 2:02
    實際上是指我們該放置橢圓形的中心位置
  • 2:02 - 2:04
    但對長方形卻是不同的,因為對長方形來說
  • 2:04 - 2:09
    200, 200 是指我們放置長方形的左上角位置
  • 2:10 - 2:13
    那是我們試定圖形位置時須記住的
  • 2:15 - 2:17
    現在讓我們進入簡易線形
  • 2:17 - 2:19
    函數名稱就叫做line而已
  • 2:19 - 2:22
    我們又傳入四個參數給它
  • 2:22 - 2:25
    但一條線的大小跟一個長方形的不太一樣,對吧?
  • 2:25 - 2:27
    所以那這些數字會控制什麼?
  • 2:28 - 2:31
    第一個和第二個參數,跟之前一樣
  • 2:31 - 2:34
    指的是這條線應該從多右方及多下方開始
  • 2:35 - 2:37
    而第二之後的參數 --
  • 2:37 - 2:40
    對不起,是第二組參數,90和200
  • 2:40 - 2:44
    將代表這條線應該在多右方及多下方終止
  • 2:47 - 2:48
    現在我們了解那是如何運作
  • 2:48 - 2:52
    讓我們來看看某些一開始會看起來相當奇怪的東西
  • 2:53 - 2:56
    如果我使長方形在左上角起始的話
  • 2:56 - 3:00
    然後再指定那長方形的左上角的話,會令什麼事情發生?
  • 3:01 - 3:03
    且相當大
  • 3:04 - 3:07
    我們甚至可以使它那麼大,但我想那有點太大了
  • 3:08 - 3:12
    我們看到它逐漸開始令橢圓形消失
  • 3:12 - 3:14
    我們其實可以使它完全消失
  • 3:15 - 3:17
    現在我們懷疑它跑去哪了
  • 3:18 - 3:22
    這程式所做的是依照次序地繪製你的圖形
  • 3:22 - 3:25
    首先它畫出橢圓形,然後它畫那長方形在上面
  • 3:25 - 3:27
    最後它便畫線條
  • 3:27 - 3:30
    所以橢圓形仍然在那,只是像你看到的,在底下而已
  • 3:31 - 3:32
    這是要記住的很重要的一點
  • 3:32 - 3:36
    因為如果我們先畫線條的話會發生什麼事?
  • 3:36 - 3:39
    我們就完全看不到它了,不是嗎?
  • 3:39 - 3:42
    你可能會在程式中那麼做然後懷疑:我的線跑哪去了?
  • 3:42 - 3:45
    事實是它還在那,只是現在被掩蓋住
  • 3:45 - 3:48
    被橢圓形及長方形同時所掩蓋
  • 3:50 - 3:54
    我們能控制哪些圖形被畫在哪其他圖形的上面
  • 3:54 - 3:57
    藉著改變它們被寫入在程式中的次序
  • 3:59 - 4:02
    現在,我想在我們結束之前介紹一些技術用語
  • 4:03 - 4:05
    就像你可能已在數學中學到的
  • 4:05 - 4:08
    我們可以用x這個字母來表示向右移多少
  • 4:08 - 4:09
    就像我們提過的
  • 4:09 - 4:12
    用y字母表示向下移多少
  • 4:12 - 4:14
    不習慣的話那可能看似有點奇怪
  • 4:14 - 4:19
    但它是比每次說「向右移多少和向下移多少」容易
  • 4:19 - 4:22
    我們橢圓形的前兩個參數,例如說
  • 4:22 - 4:28
    在說x該是200,而y該是229
  • 4:29 - 4:30
    現在你們知道了
  • 4:30 - 4:33
    就跟說「向右移多少和向下移多少」一樣
  • 4:34 - 4:36
    一個你可能會提出的第二個非常好的問題是:
  • 4:36 - 4:39
    這整個時間我們使用的是什麼單位?
  • 4:39 - 4:43
    我們說的是200公分、200英寸還是200英里?
  • 4:43 - 4:45
    我們使用的單位稱作「像素」
  • 4:45 - 4:48
    而一個像素是你螢幕上一個微小的點
  • 4:48 - 4:52
    這個畫布事實上就是400像素寬
  • 4:52 - 4:56
    那就是為什麼我們總是說左上角是0
  • 4:56 - 5:01
    然後向右到底是400,因為它是400個像素
  • 5:02 - 5:05
    類似地,當我們說200,實際上我們指的是200個像素
  • 5:05 - 5:07
    你該已懂了
  • 5:07 - 5:08
    太好了!
  • 5:08 - 5:11
    現在你已經完全了解函數 line、ellipse、和rect
  • 5:11 - 5:12
    以及它們的參數
  • 5:12 - 5:15
    我們已經涵蓋了很多,只要堅持下去,持續發掘
  • 5:15 - 5:16
    很快你便會找到它的竅門
Title:
更多繪圖(影片版)
Description:

這只是一個互動程式設計指導的畫面快照,為協助字幕和翻譯編輯而準備的。看我們其他的指導影片會比較好:https://www.khanacademy.org/cs/programming/

more » « less
Video Language:
English
Duration:
05:17

Chinese, Traditional subtitles

Revisions