WEBVTT 00:00:01.735 --> 00:00:03.407 - Như vậy, ta đã tạo ra một biến thật tuyệt vời 00:00:03.407 --> 00:00:05.601 cho kích thước mắt của Winston. Nó 00:00:05.601 --> 00:00:07.854 thực sự hữu ích vì đã giúp ta tiết kiệm rất nhiều công đánh máy 00:00:07.854 --> 00:00:10.222 khi muốn thay đổi kích thước đôi mắt của Winston. 00:00:10.222 --> 00:00:12.266 Hãy nhớ rằng, trước kia ta phải gõ cùng một số 00:00:12.266 --> 00:00:14.181 tới tận bốn lần mỗi khi muốn 00:00:14.181 --> 00:00:15.981 thay đổi kích thước mắt. 00:00:15.981 --> 00:00:17.815 Nhưng ta có thể sử dụng các biến để thay thế giá trị 00:00:17.815 --> 00:00:19.278 khi chúng không giống nhau hay không? 00:00:19.278 --> 00:00:21.693 Giống như, nếu tôi muốn di chuyển Winston một chút thì sao? 00:00:21.693 --> 00:00:23.864 Tôi có thể thay đổi từng tọa độ 'x' này nhưng 00:00:23.864 --> 00:00:26.013 dù sao chúng cũng không giống nhau nên không thể 00:00:26.013 --> 00:00:27.904 chỉ cần thay thế tất cả bằng một biến nào đó được. 00:00:27.904 --> 00:00:29.158 Nhưng gượm chút. 00:00:29.158 --> 00:00:30.830 Khi tôi gán một giá trị cho một biến 00:00:30.830 --> 00:00:32.792 Tôi có thể sử dụng biến đó y hệt như thể 00:00:32.792 --> 00:00:33.976 đó là một số. 00:00:33.976 --> 00:00:37.239 Có nghĩa là, tôi có thể sử dụng các biến trong biểu thức toán học. 00:00:37.239 --> 00:00:38.260 Vậy nếu như thế này thì sao? 00:00:38.260 --> 00:00:40.954 Hãy tạo một biến cho vị trí 'x' của Winston. 00:00:40.954 --> 00:00:44.656 Gọi nó là 'var x', đơn giản vừa đủ. 00:00:44.656 --> 00:00:46.132 Được rồi, bây giờ hãy thiết đặt giá trị của 00:00:46.132 --> 00:00:48.059 tọa độ 'x' cho khuôn mặt của Winston. 00:00:48.059 --> 00:00:51.403 Như vậy, khuôn mặt của anh ấy đang được vẽ tại tọa độ 'x' là 200. 00:00:51.403 --> 00:00:55.332 Nên ta sẽ nói 'var x' nhận giá trị 200. 00:00:55.332 --> 00:00:57.636 Bây giờ ta có thể thay thế số này bằng 00:00:57.636 --> 00:01:00.283 biến x và khi thay đổi giá trị của 'x' 00:01:00.283 --> 00:01:02.454 khuôn mặt của Winston di chuyển 00:01:02.454 --> 00:01:05.153 nhưng mắt hay miệng thì không. 00:01:05.153 --> 00:01:08.624 Vì vậy, để khắc phục điều đó, ta sẽ xác định vị trí của 00:01:08.624 --> 00:01:13.624 mắt và miệng tương quan với vị trí của khuôn mặt. 00:01:14.174 --> 00:01:16.786 Như vậy, tọa độ 'x' sẽ là tâm 00:01:16.786 --> 00:01:20.617 của tất cả các hình elip, nên vậy khuôn mặt của anh ấy sẽ được vẽ tại 00:01:20.617 --> 00:01:24.658 tọa độ 200, và trước tiên hãy thực hiện với mắt trái. 00:01:24.658 --> 00:01:26.492 Như vậy, hình elip này là mắt trái và ta có thể thấy 00:01:26.492 --> 00:01:29.557 rằng nó được vẽ ở tọa độ 150, 00:01:29.557 --> 00:01:33.388 Vì vậy, ngay tại đây, đó là 150. 00:01:33.388 --> 00:01:37.556 Và tôi biết rằng 150 kém 200 50 đơn vị. 00:01:37.556 --> 00:01:42.556 Vì vậy, mắt trái phải ở bất cứ vị trí nào của khuôn mặt trừ đi 50 đơn vị. 00:01:42.653 --> 00:01:45.439 Nên nó sẽ 'x', chính là vị trí của khuôn mặt, 00:01:45.439 --> 00:01:47.970 trừ đi 50. 00:01:47.970 --> 00:01:50.407 Và bây giờ nếu thay đổi giá trị tọa độ 'x' của Winston, 00:01:50.407 --> 00:01:53.230 mắt anh ấy di chuyển cùng khuôn mặt. 00:01:53.230 --> 00:01:54.495 Hãy làm như vậy với những phần khác. 00:01:54.495 --> 00:01:58.048 Mắt phải của anh ấy đang được vẽ ở tọa độ 300, như ta thấy, 00:01:58.048 --> 00:02:01.438 ở đây là 300. 00:02:01.438 --> 00:02:05.885 Và 300, ta biết rằng, nó lớn hơn 200 là 100 đơn vị. 00:02:05.885 --> 00:02:10.053 Vì vậy, mắt phải nên ở bất cứ vị trí nào của khuôn mặt cộng thêm 100. 00:02:10.053 --> 00:02:12.746 Vậy đó là 'x' cộng 100. 00:02:12.746 --> 00:02:14.255 Và giờ ta chỉ còn miệng thôi. 00:02:14.255 --> 00:02:16.786 Miệng đang được vẽ ở tọa độ 250. 00:02:16.786 --> 00:02:19.252 Ở đây, ta có 250, 00:02:19.252 --> 00:02:23.082 và 250 là 200 cộng 50. 00:02:23.082 --> 00:02:26.132 Vì vậy, nó sẽ ở bất cứ vị trí nào... Ồ, đó là số 5 00:02:26.132 --> 00:02:31.032 và dù khuôn mặt ở đâu, 'x' cộng 50. 00:02:31.032 --> 00:02:33.238 Và bây giờ, ta sẽ bỏ qua những nét vẽ nguệch ngoạc này, 00:02:33.238 --> 00:02:38.126 Bất cứ khi nào thay đổi giá trị của 'x', nó sẽ di chuyển toàn bộ khuôn mặt. 00:02:38.126 --> 00:02:39.600 Yay! 00:02:39.600 --> 00:02:41.109 Bây giờ trước khi kết thúc, bạn nên biết thêm 00:02:41.109 --> 00:02:42.735 một đôi điều về các biến. 00:02:42.735 --> 00:02:45.893 Khi tạo một biến bằng cách sử dụng 'var x' 00:02:45.893 --> 00:02:47.077 ta sẽ gán một giá trị cho nó 00:02:47.077 --> 00:02:48.586 bao nhiêu lần tùy thích. 00:02:48.586 --> 00:02:53.068 Vì vậy, sau khi gán cho 'x' giá trị 198, tôi 00:02:53.068 --> 00:02:55.822 gán cho x nhận giá trị 300, hoặc 00:02:55.822 --> 00:02:59.468 x nhận giá trị 150. 00:02:59.468 --> 00:03:01.267 Và từ đó trở đi, máy tính sẽ xử lý 'x' 00:03:01.267 --> 00:03:03.681 theo bất cứ giá trị nào ta gán nó lần sau cùng, 00:03:03.681 --> 00:03:05.353 vì vậy trong trường hợp này, là 150. 00:03:05.353 --> 00:03:08.534 Nhưng bạn chỉ cần gõ 'var' một lần cho mỗi biến. 00:03:08.534 --> 00:03:12.783 Nếu, ở đây, ta lại gõ 'var x' nhận giá trị 150, 00:03:12.783 --> 00:03:15.605 nghĩa là nó tạo ra một biến hoàn toàn mới có tên 'x', 00:03:15.605 --> 00:03:18.496 xóa bỏ hoàn toàn biến x cũ trong tiến trình. 00:03:18.496 --> 00:03:21.270 Vì vậy, tất cả các biến này sẽ biến mất trong dumpster. 00:03:21.270 --> 00:03:22.736 Và sau đó, máy tính sẽ 00:03:22.736 --> 00:03:24.335 chỉ sử dụng biến mới. 00:03:24.335 --> 00:03:25.812 Đôi khi bạn có thể làm điều này 00:03:25.812 --> 00:03:27.890 mà không có chuyện gì ghê gớm lắm xảy ra, 00:03:27.890 --> 00:03:29.773 nhưng tôi không khuyến khích nó. 00:03:29.773 --> 00:00:00.000 Bây giờ ta sẽ thử làm điều đó một lần, 'var x' nhận giá trị 150.