< Return to Video

Function Parameters (Video Version)

  • 0:01 - 0:06
    Ta sẽ quay lại chương trình vẽ Winston, nhưng tôi đã thêm một số chữ vào đó.
  • 0:06 - 0:11
    Hãy xem, những gì ta muốn làm là đặt Winston bên dưới các nhãn này,
  • 0:11 - 0:13
    để thể hiện anh ấy ở mỗi thời điểm trong đời.
  • 0:13 - 0:16
    Lúc này anh ấy ở khắp mọi nơi. Đó là bởi ta đang gán
  • 0:16 - 0:20
    faceX và faceY cho các giá trị ngẫu nhiên bên trong hàm.
  • 0:20 - 0:27
    Ta muốn rằng "Đây là vị trí chính xác tôi muốn vẽ Winston"
  • 0:27 - 0:30
    Tôi muốn có thể chỉ định vị trí đó mỗi khi gọi hàm,
  • 0:30 - 0:33
    giống như cách ta làm với ellipse() và rect().
  • 0:34 - 0:40
    Tôi muốn đặt Winston ở đây, đây và Winston ở đây, và Winston ở đây nữa,
  • 0:40 - 0:44
    và tôi không muốn chỉ là những vị trí ngẫu nhiên mỗi khi gọi hàm.
  • 0:44 - 0:49
    Để làm điều đó, ta phải chỉ định "tham số" cho hàm,
  • 0:49 - 0:53
    cả trong định nghĩa hàm - ở trên cùng ở đây -
  • 0:53 - 0:57
    và trong lời gọi hàm, ở đây, khi ta thực sự gọi nó.
  • 0:57 - 1:02
    Đối với drawWinston(), ta truyền vào faceX và faceY,
  • 1:02 - 1:09
    và sử dụng những giá trị mà ta truyền vào thay vì tạo ra chúng một cách ngẫu nhiên.
  • 1:09 - 1:15
    Hãy suy nghĩ về những gì ta sẽ truyền vào các hàm gọi ở đưới đây.
  • 1:15 - 1:20
    Ta đặt Winstons dưới mỗi chữ, vì vậy ta có thể muốn x và y của mỗi
  • 1:20 - 1:24
    Winston tương ứng với các giá trị ta đã truyền vào các hàm text().
  • 1:24 - 1:32
    Có thể, nhỏ hơn 10 pixel với y. Cái đầu tiên sẽ là 10 và 30,
  • 1:32 - 1:41
    và sau đó có thể 200, 230 ... 10, 230 ... 200, 230.
  • 1:41 - 1:45
    Nó giống như tọa độ của chữ, tôi chỉ cần +10 cho mỗi y, '
  • 1:45 - 1:47
    bởi tôi muốn nó thấp hơn một chút thôi.
  • 1:50 - 1:55
    Winston không di chuyển. Ta đã không cho hàm ở đây biết rằng
  • 1:55 - 1:59
    ta đang truyền tham số cho nó, vì vậy nó vẫn sử dụng các giá trị ngẫu nhiên này.
  • 1:59 - 2:04
    Để nói với hàm này, "Thay vào đó anh sẽ cung cấp cho chú thông tin này".
  • 2:04 - 2:08
    ta cần đặt tên tham số bên trong dấu ngoặc đơn.
  • 2:08 - 2:14
    Ta sẽ gọi nó là faceX và faceY, phân tách chúng bằng dấu phẩy,
  • 2:14 - 2:21
    Ta gọi như vậy là vì ta đang sử dụng nó để tham chiếu trong hàm.
  • 2:21 - 2:23
    Bằng cách đó, ta không phải viết lại phần còn lại của code.
  • 2:23 - 2:29
    Nhưng vẫn không có gì xảy ra; Winston vẫn còn ở khắp mọi nơi.
  • 2:29 - 2:31
    Nếu nhìn vào phần đầu của hàm,
  • 2:31 - 2:35
    ta vẫn ghi đè faceX và faceY với các giá trị ngẫu nhiên.
  • 2:35 - 2:39
    Vì vậy, tất cả những gì ta phải làm là xóa những dòng này đi.
  • 2:39 - 2:45
    Bây giờ, faceX và faceY đang được truyền vào hàm,
  • 2:45 - 2:50
    và nó đang dùng các giá trị được gọi ở đây.
  • 2:50 - 2:55
    Tôi đã không định vị chính xác Winston, vì quên rằng chữ đã được xác định vị trí
  • 2:55 - 3:01
    căn theo phía trên bên trái, và mặt được xác định vị trí theo tâm điểm.
  • 3:01 - 3:06
    Ta cần tiếp tục và điều chỉnh số má một chút ở đây, phải không?
  • 3:06 - 3:13
    Tôi cần phải đặt 'x' lên rất nhiều, và di chuyển nó, được rồi ... như vậy đó là những bước đi đầu tiên
  • 3:13 - 3:18
    Ta sẽ thực hiện và thay đổi những gì truyền vào hàm,
  • 3:18 - 3:23
    Ta không phải thay đổi định nghĩa hàm,
  • 3:23 - 3:26
    Nó sẽ luôn lấy bất cứ giá trị nào ta truyền vào.
  • 3:26 - 3:28
    Cũng giống như với ellipse() và rect().
  • 3:28 - 3:33
    Tôi đã định vị nó, nhưng nhận thấy rằng Winston quá to.
  • 3:33 - 3:36
    Anh ta chồng chéo và không phù hợp.
  • 3:36 - 3:39
    Tôi đã viết code để vẽ anh ta trong một hàm,
  • 3:39 - 3:42
    Tôi có thể thay đổi kích thước của tất cả chúng cùng một lúc
  • 3:42 - 3:45
    bằng cách thay đổi dòng code vẽ hình elip.
  • 3:45 - 3:51
    Nếu ta đặt cho anh ta kích thước như 190, Winston sẽ ăn kiêng còn 190.
  • 3:51 - 3:56
    Bây giờ anh ta sẽ khỏe hơn và sau đó ta có thể tiếp tục điều chỉnh
  • 3:56 - 4:02
    Như vậy, tôi thực sự có thể đưa anh ta vào trong đó, phải không? Ngon.
  • 4:02 - 4:09
    Hãy xem xét lại những gì code này làm. Nó định nghĩa một hàm gọi là drawWinston()
  • 4:09 - 4:15
    và nói rằng hàm này có hai giá trị tên là faceX và faceY,
  • 4:15 - 4:20
    các giá trị này xuất hiện dưới dạng những biến ta có thể sử dụng ở bất kỳ đâu trong hàm,
  • 4:20 - 4:23
    giống như ta đã từng sử dụng các biến đã khai báo ở trên cùng
  • 4:23 - 4:29
    Và sau đó ta có thể gọi hàm này bất cứ khi nào mình muốn sau khi khai báo nó,
  • 4:29 - 4:34
    ta có thể truyền các giá trị khác nhau, để nó sử dụng các giá trị mới đó trong mỗi lần.
  • 4:34 - 4:38
    Bạn đã thấy những điều tuyệt vời về hàm. Ta có thể tiếp tục code
  • 4:38 - 4:43
    và nghĩ rằng sẽ rất hữu ích khi tái sử dụng, nhưng ta cũng có thể dùng các tham số để thể hiện
  • 4:43 - 4:46
    "Này, đây là điều gì đó ta có thể thay đổi trong code này, để tùy chỉnh."
  • 4:46 - 4:49
    Nó giống như một công thức. Bạn viết ra những chỉ dẫn chung,
  • 4:49 - 4:53
    và nếu bạn nhận ra rằng bạn đột nhiên cần có 4 Winstons thay vì 1,
  • 4:53 - 4:56
    bạn không phải bắt đầu lại, chỉ cần sửa đổi các hướng dẫn ban đầu
  • 4:56 - 4:58
    và nhân mọi thứ với 4.
  • 4:58 - 0:00
    Bây giờ bạn có thể bắt đầu suy nghĩ về các công thức trong code của mình rồi đấy! Ngon.
Title:
Function Parameters (Video Version)
Description:

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

Vietnamese subtitles

Incomplete

Revisions