[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.62,0:00:02.88,Default,,0000,0000,0000,, Như vậy giờ ta sẽ học cách sử dụng ký tự, Dialogue: 0,0:00:02.88,0:00:05.04,Default,,0000,0000,0000,, hãy làm mọi thứ trở nên thú vị hơn một chút. Dialogue: 0,0:00:05.04,0:00:06.45,Default,,0000,0000,0000,, Điều thú vị đầu tiên là giờ ta sẽ Dialogue: 0,0:00:06.45,0:00:08.28,Default,,0000,0000,0000,, bắt đầu sử dụng từ "string" (chuỗi, sợi). Bạn có thể Dialogue: 0,0:00:08.28,0:00:10.41,Default,,0000,0000,0000,, nghĩ rằng: String ư? Đó là thứ con mèo hay nghịch ngợm chăng?" Dialogue: 0,0:00:10.41,0:00:12.42,Default,,0000,0000,0000,, Đối với lập trình viên, "string" lại là một Dialogue: 0,0:00:12.42,0:00:14.55,Default,,0000,0000,0000,, cái tên đặc biệt mà ta sử dụng cho các bit ký tự. Bạn Dialogue: 0,0:00:14.55,0:00:15.54,Default,,0000,0000,0000,, có thể nghĩ về nó giống như một chuỗi Dialogue: 0,0:00:15.54,0:00:17.46,Default,,0000,0000,0000,, ký tự cũng được. Tên của bạn là một Dialogue: 0,0:00:17.46,0:00:18.93,Default,,0000,0000,0000,, "string", tên trường bạn là một "string" Dialogue: 0,0:00:18.93,0:00:20.82,Default,,0000,0000,0000,, và tất cả những tin nhắn văn bản bạn từng gửi Dialogue: 0,0:00:20.82,0:00:23.40,Default,,0000,0000,0000,, cũng là một "string". Về căn bản Dialogue: 0,0:00:23.40,0:00:27.39,Default,,0000,0000,0000,, chỉ cần hiểu string là những ký tự. Ta đã vẽ Dialogue: 0,0:00:27.39,0:00:29.22,Default,,0000,0000,0000,, tô màu với các "string" rồi. Ta có thể sử dụng Dialogue: 0,0:00:29.22,0:00:31.59,Default,,0000,0000,0000,, biến đối với "string" không? Tất nhiên rồi Dialogue: 0,0:00:31.59,0:00:32.85,Default,,0000,0000,0000,, Cũng chỉ như việc gán một số Dialogue: 0,0:00:32.85,0:00:34.17,Default,,0000,0000,0000,, cho một biến, ta có thể gán một Dialogue: 0,0:00:34.17,0:00:36.00,Default,,0000,0000,0000,, "string" cho một biến. Ta chỉ cần viết Dialogue: 0,0:00:36.00,0:00:38.97,Default,,0000,0000,0000,, kiểu như: "var myName = Dialogue: 0,0:00:38.97,0:00:39.87,Default,,0000,0000,0000,, (bất cứ cái tên nào của bạn)" Dialogue: 0,0:00:39.87,0:00:42.18,Default,,0000,0000,0000,, như là "Sophia". Nhớ thêm những dấu nháy kép ("") và Dialogue: 0,0:00:42.18,0:00:44.82,Default,,0000,0000,0000,, rồi ta đặt biến "myName" Dialogue: 0,0:00:44.82,0:00:46.20,Default,,0000,0000,0000,, vào chỗ của đoạn ký tự thay vì viết Dialogue: 0,0:00:46.20,0:00:47.52,Default,,0000,0000,0000,, "Sophia" trực tiếp như cách ta đã làm Dialogue: 0,0:00:47.52,0:00:49.89,Default,,0000,0000,0000,, trước đây. Và 2 cách này dù trông giống nhau Dialogue: 0,0:00:49.89,0:00:52.59,Default,,0000,0000,0000,, nhưng thực tế ta lại có thể viết nó Dialogue: 0,0:00:52.59,0:00:54.21,Default,,0000,0000,0000,, nhiều lần, bạn biết đấy, 1 lần ở đó, Dialogue: 0,0:00:54.21,0:00:55.83,Default,,0000,0000,0000,, thêm 1 lần nữa, bạn biết đấy, có thể Dialogue: 0,0:00:55.83,0:00:58.29,Default,,0000,0000,0000,, nó trông khá "nghệ thuật". Và rồi tất cả những gì ta phải làm Dialogue: 0,0:00:58.29,0:00:59.91,Default,,0000,0000,0000,, là thay đổi một biến này thành Dialogue: 0,0:00:59.91,0:01:02.46,Default,,0000,0000,0000,, tên {\i1}của bạn{\i0} và sau đó tên của bạn Dialogue: 0,0:01:02.46,0:01:05.28,Default,,0000,0000,0000,, được viết ba lần. Như vậy, chỉ cần lật lại Dialogue: 0,0:01:05.28,0:01:07.65,Default,,0000,0000,0000,, nếu ta muốn thứ gì điên rồ Dialogue: 0,0:01:07.65,0:01:08.07,Default,,0000,0000,0000,, một chút, thì sao? Dialogue: 0,0:01:08.07,0:01:09.75,Default,,0000,0000,0000,, Ta có thể cộng các chuỗi với nhau không nhỉ? Dialogue: 0,0:01:09.75,0:01:11.16,Default,,0000,0000,0000,, Bạn còn nhớ khi ta cộng Dialogue: 0,0:01:11.16,0:01:13.59,Default,,0000,0000,0000,, các biến với nhau không? Ta thực sự Dialogue: 0,0:01:13.59,0:01:15.45,Default,,0000,0000,0000,, có thể làm điều đó. máy tính sẽ chỉ cần Dialogue: 0,0:01:15.45,0:01:17.70,Default,,0000,0000,0000,, đặt hai chuỗi lại với nhau. Dialogue: 0,0:01:17.70,0:01:19.26,Default,,0000,0000,0000,, Ví dụ, bạn biết đấy, ta có thể bỏ cái này, Dialogue: 0,0:01:19.26,0:01:21.18,Default,,0000,0000,0000,, chỉ dùng một lần và sau đó ta Dialogue: 0,0:01:21.18,0:01:23.19,Default,,0000,0000,0000,, dùng biến thông điệp (message) khác Dialogue: 0,0:01:23.19,0:01:26.22,Default,,0000,0000,0000,, là tên của tôi cộng với nói một dãy các Dialogue: 0,0:01:26.22,0:01:28.68,Default,,0000,0000,0000,, dấu chấm than. Và nếu ta đặt Dialogue: 0,0:01:28.68,0:01:30.36,Default,,0000,0000,0000,, thông điệp vào chuỗi ký tự để tạo biến này Dialogue: 0,0:01:30.36,0:01:33.03,Default,,0000,0000,0000,, thay vì tên của tôi, ta có thể thấy rằng tất cả những gì Dialogue: 0,0:01:33.03,0:01:34.08,Default,,0000,0000,0000,, nó làm chỉ là đặt những Dialogue: 0,0:01:34.08,0:01:36.03,Default,,0000,0000,0000,, dấu chấm than ngay sau tên tôi. Dialogue: 0,0:01:36.03,0:01:39.15,Default,,0000,0000,0000,, Và ta thậm chí có thể làm nó Dialogue: 0,0:01:39.15,0:01:40.50,Default,,0000,0000,0000,, thú vị hơn một chút nếu như Dialogue: 0,0:01:40.50,0:01:43.32,Default,,0000,0000,0000,, muốn viết thông điệp hai lần. Dialogue: 0,0:01:43.32,0:01:45.18,Default,,0000,0000,0000,, Điều này có vẻ khá hợp lý, bạn biết rằng Dialogue: 0,0:01:45.18,0:01:46.80,Default,,0000,0000,0000,, thêm chuỗi có nghĩa là đặt Dialogue: 0,0:01:46.80,0:01:48.45,Default,,0000,0000,0000,, ngay sau một chuỗi khác. Dialogue: 0,0:01:48.45,0:01:50.64,Default,,0000,0000,0000,, Nhưng bạn có thể nghĩ rằng ta có thể Dialogue: 0,0:01:50.64,0:01:52.11,Default,,0000,0000,0000,, trở nên thực sự điên rồ không? Và bắt đầu nhân, Dialogue: 0,0:01:52.11,0:01:54.93,Default,,0000,0000,0000,, chia hoặc trừ các chuỗi? Ta Dialogue: 0,0:01:54.93,0:01:55.53,Default,,0000,0000,0000,, cũng có thể làm như vậy không? Dialogue: 0,0:01:55.53,0:01:58.29,Default,,0000,0000,0000,, Không, ta không thể. Với chuỗi ta chỉ có thể Dialogue: 0,0:01:58.29,0:02:00.12,Default,,0000,0000,0000,, cộng chúng lại mà thôi. Bạn đúng rồi đấy, ta có thể Dialogue: 0,0:02:00.12,0:02:01.35,Default,,0000,0000,0000,, chia và trừ các biến có giá trị số Dialogue: 0,0:02:01.35,0:02:03.12,Default,,0000,0000,0000,, nhưng biến có giá trị chuỗi Dialogue: 0,0:02:03.12,0:02:06.18,Default,,0000,0000,0000,, chỉ cho phép ta cộng. Nhưng hãy tiếp tục tò mò Dialogue: 0,0:02:06.18,0:02:07.74,Default,,0000,0000,0000,, và hỏi những loại câu như vậy. Đó là Dialogue: 0,0:02:07.74,0:02:09.66,Default,,0000,0000,0000,, thái độ đúng trong lập trình, bạn Dialogue: 0,0:02:09.66,0:02:11.43,Default,,0000,0000,0000,, có thể nghĩ xem việc chia một chuỗi Dialogue: 0,0:02:11.43,0:02:13.15,Default,,0000,0000,0000,, có ý nghĩa gì? Dialogue: 0,0:02:13.15,0:02:15.13,Default,,0000,0000,0000,, Như vậy ta cũng có thể dùng ảnh động và Dialogue: 0,0:02:15.13,0:02:17.68,Default,,0000,0000,0000,, tương tác với con trỏ kết hợp cùng chuỗi ký tự. Dialogue: 0,0:02:17.68,0:02:19.54,Default,,0000,0000,0000,, Ví dụ, ta có thể tạo chuỗi ký tự bằng Dialogue: 0,0:02:19.54,0:02:21.28,Default,,0000,0000,0000,, con trỏ. Chỉ bằng cách gắn nó vào Dialogue: 0,0:02:21.28,0:02:22.93,Default,,0000,0000,0000,, một vòng lặp draw như ta đã làm với hình chữ nhật. Dialogue: 0,0:02:22.93,0:02:25.45,Default,,0000,0000,0000,, Nếu bạn băn khoăn làm nó như thế nào, Dialogue: 0,0:02:25.45,0:02:27.73,Default,,0000,0000,0000,, ta sẽ chỉ cần "var draw" và rồi gắn chúng lại Dialogue: 0,0:02:27.73,0:02:29.68,Default,,0000,0000,0000,, chính ở đây. Dialogue: 0,0:02:29.68,0:02:31.75,Default,,0000,0000,0000,, Điều này có lẽ trông rất quen thuộc, Dialogue: 0,0:02:31.75,0:02:33.94,Default,,0000,0000,0000,, từ phần "intro to animation" (Mở đầu về ảnh động) và bạn có thể nghĩ Dialogue: 0,0:02:33.94,0:02:35.77,Default,,0000,0000,0000,, ổn thôi, để tạo chữ bằng trỏ Dialogue: 0,0:02:35.77,0:02:37.48,Default,,0000,0000,0000,, ta chắc chắn cần sử dụng mouseX và mouseY Dialogue: 0,0:02:37.48,0:02:40.27,Default,,0000,0000,0000,, và ta có nó ở đó, Dialogue: 0,0:02:40.27,0:02:41.59,Default,,0000,0000,0000,, ta thực sự vẽ tên của chính mình. Dialogue: 0,0:02:41.59,0:02:44.47,Default,,0000,0000,0000,, Và tất nhiên nếu muốn ta có thể Dialogue: 0,0:02:44.47,0:02:47.65,Default,,0000,0000,0000,, dễ dàng đặt hình nền, bạn biết đấy, Dialogue: 0,0:02:47.65,0:02:52.09,Default,,0000,0000,0000,, màu xanh nhạt xinh đẹp. Và giờ ta có Dialogue: 0,0:02:52.09,0:02:54.01,Default,,0000,0000,0000,, chữ theo sau Dialogue: 0,0:02:54.01,0:02:55.39,Default,,0000,0000,0000,, con trỏ giống như những gì Dialogue: 0,0:02:55.39,0:02:58.39,Default,,0000,0000,0000,, ta thấy với hình chữ nhật. Và bây giờ là Dialogue: 0,0:02:58.39,0:03:00.58,Default,,0000,0000,0000,, mẹo vặt cuối cùng, hãy dùng ảnh động, Dialogue: 0,0:03:00.58,0:03:02.92,Default,,0000,0000,0000,, khiến kích cỡ chữ tăng, tăng thêm và tăng thêm nữa. Dialogue: 0,0:03:02.92,0:03:04.63,Default,,0000,0000,0000,, Ở đây ta đang đặt kích thước văn bản là 30, Dialogue: 0,0:03:04.63,0:03:06.85,Default,,0000,0000,0000,, như cách ta đã học trong bài về biến, thay vì Dialogue: 0,0:03:06.85,0:03:09.70,Default,,0000,0000,0000,, dùng 30, ta cũng có thể viết "var howBig Dialogue: 0,0:03:09.70,0:03:12.07,Default,,0000,0000,0000,, = 30" và dùng biến này Dialogue: 0,0:03:12.07,0:03:15.28,Default,,0000,0000,0000,, thay vì dùng trực tiếp 30. Như vậy Dialogue: 0,0:03:15.28,0:03:17.32,Default,,0000,0000,0000,, đó chính xác là điều tương tự và ta Dialogue: 0,0:03:17.32,0:03:18.91,Default,,0000,0000,0000,, hiển nhiên cần thay đổi thứ gì đó Dialogue: 0,0:03:18.91,0:03:21.58,Default,,0000,0000,0000,, để tạo ra ảnh động. Ta có thể làm điều đó Dialogue: 0,0:03:21.58,0:03:25.36,Default,,0000,0000,0000,, bằng cách viết howBig = howBig + 1 Dialogue: 0,0:03:25.36,0:03:26.98,Default,,0000,0000,0000,, nghĩa là nếu bạn còn nhớ, Dialogue: 0,0:03:26.98,0:03:29.53,Default,,0000,0000,0000,, howBig nhận giá trị, bạn biết trước đó nó có giá trị như thế nào, Dialogue: 0,0:03:29.53,0:03:31.72,Default,,0000,0000,0000,, +1 để làm cho nó lớn hơn một chút, Dialogue: 0,0:03:31.72,0:03:33.82,Default,,0000,0000,0000,, và giờ ta chỉ cần chạy lại Dialogue: 0,0:03:33.82,0:03:36.67,Default,,0000,0000,0000,, chương trình. Và ở đây ta có Dialogue: 0,0:03:36.67,0:03:38.17,Default,,0000,0000,0000,, khi di chuyển con trỏ kích thước chữ Dialogue: 0,0:03:38.17,0:03:39.58,Default,,0000,0000,0000,, tăng lên, tăng lên và tăng lên và Dialogue: 0,0:03:39.58,0:03:41.53,Default,,0000,0000,0000,, tăng mãi lên vì dòng này ngay tại đây. Dialogue: 0,0:03:41.53,0:03:45.07,Default,,0000,0000,0000,, Và bạn biết đấy, bạn có thể tự nghĩ xem, Dialogue: 0,0:03:45.07,0:03:47.31,Default,,0000,0000,0000,, ok, làm sao để khiến cho nó to nhanh hơn nữa? Dialogue: 0,0:03:47.31,0:03:50.20,Default,,0000,0000,0000,, Bây giờ bạn không chỉ bạn biết cách Dialogue: 0,0:03:50.20,0:03:52.00,Default,,0000,0000,0000,, điều khiển hình vẽ bằng code mà còn có thể Dialogue: 0,0:03:52.00,0:00:00.00,Default,,0000,0000,0000,, dùng các ký tự bằng code nữa.