[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.34,0:00:04.61,Default,,0000,0000,0000,,Trong video này, ta sẽ lập trình\Nnâng cao hơn với lệnh "text". Dialogue: 0,0:00:04.61,0:00:06.01,Default,,0000,0000,0000,,Đầu tiên, chúng ta sẽ bắt đầu Dialogue: 0,0:00:06.01,0:00:08.28,Default,,0000,0000,0000,,học cách sử dụng\N"string" (chuỗi ký tự). Dialogue: 0,0:00:08.28,0:00:10.61,Default,,0000,0000,0000,,Vậy "string" hay chuỗi ký tự là gì? Dialogue: 0,0:00:10.61,0:00:12.72,Default,,0000,0000,0000,,Trong lập trình, đây là\Nmột tên gọi đặc biệt Dialogue: 0,0:00:12.72,0:00:14.58,Default,,0000,0000,0000,,sử dụng cho một kiểu dữ liệu. Dialogue: 0,0:00:14.58,0:00:16.57,Default,,0000,0000,0000,,Bạn hãy hiểu "string" là\Nmột chuỗi các ký tự. Dialogue: 0,0:00:16.57,0:00:19.07,Default,,0000,0000,0000,,Tên bạn là một "string",\Ntên trường học là một "string" Dialogue: 0,0:00:19.07,0:00:22.10,Default,,0000,0000,0000,,và mỗi tin nhắn mà bạn\Ntừng gửi cũng là một "string". Dialogue: 0,0:00:22.10,0:00:25.50,Default,,0000,0000,0000,,Về cơ bản, có thể coi "string"\Nbằng với "text" (nghĩa là văn bản). Dialogue: 0,0:00:25.98,0:00:28.56,Default,,0000,0000,0000,,Chúng ta đã học cách viết\Nvà đổi màu các "string". Dialogue: 0,0:00:28.56,0:00:30.99,Default,,0000,0000,0000,,Vậy ta hoàn toàn có thể\Ndùng biến với các "string". Dialogue: 0,0:00:30.99,0:00:33.22,Default,,0000,0000,0000,,Tương tự như cách\Ngán một giá trị cho một biến, Dialogue: 0,0:00:33.22,0:00:35.23,Default,,0000,0000,0000,,ta cũng có thể\Ngán một "string" cho một biến. Dialogue: 0,0:00:35.45,0:00:37.39,Default,,0000,0000,0000,,Chúng ta có thể nhập như sau: Dialogue: 0,0:00:37.39,0:00:40.96,Default,,0000,0000,0000,,"var myName =", rồi nhập\Ntên bạn, "Sophia" chẳng hạn. Dialogue: 0,0:00:40.96,0:00:42.60,Default,,0000,0000,0000,,Đừng quên đặt giữa dấu ngoặc kép. Dialogue: 0,0:00:42.60,0:00:44.48,Default,,0000,0000,0000,,Sau đó, chúng ta đặt biến "myName" Dialogue: 0,0:00:44.48,0:00:46.80,Default,,0000,0000,0000,,giữa dấu ngoặc kép thay vì "Sophia" Dialogue: 0,0:00:46.80,0:00:48.54,Default,,0000,0000,0000,,như ta đã làm trước kia. Dialogue: 0,0:00:48.54,0:00:50.53,Default,,0000,0000,0000,,Tuy kết quả trả về không thay đổi Dialogue: 0,0:00:50.53,0:00:53.30,Default,,0000,0000,0000,,nhưng ta có thể nhập\Nvô số lệnh "text" tương tự Dialogue: 0,0:00:53.30,0:00:55.33,Default,,0000,0000,0000,,và thay đổi giá trị các tham số Dialogue: 0,0:00:55.33,0:00:57.32,Default,,0000,0000,0000,,để trình bày văn bản\Nmột cách nghệ thuật. Dialogue: 0,0:00:57.32,0:00:59.40,Default,,0000,0000,0000,,Tiếp theo, bạn chỉ cần\Nđặt biến "myName" Dialogue: 0,0:00:59.40,0:01:02.01,Default,,0000,0000,0000,,thành "Your Name",\Nnghĩa là tên {\i1}của bạn{\i0} Dialogue: 0,0:01:02.01,0:01:04.02,Default,,0000,0000,0000,,là bạn đã có tên bạn\Nđược viết lại 3 lần. Dialogue: 0,0:01:04.02,0:01:07.23,Default,,0000,0000,0000,,Bây giờ, ta đổi lại thành "Sophia"\Nđể tiếp tục bài học. Dialogue: 0,0:01:07.23,0:01:09.54,Default,,0000,0000,0000,,Liệu ta có thể gán các "string"\Nphụ thuộc vào nhau Dialogue: 0,0:01:09.54,0:01:12.82,Default,,0000,0000,0000,,như cách gán biến này\Nphụ thuộc vào biến khác hay không? Dialogue: 0,0:01:12.82,0:01:14.58,Default,,0000,0000,0000,,Chúng ta có thể thực hiện được Dialogue: 0,0:01:14.58,0:01:17.06,Default,,0000,0000,0000,,và chương trình sẽ liên kết\Nhai "string" với nhau. Dialogue: 0,0:01:17.06,0:01:19.55,Default,,0000,0000,0000,,Ví dụ, chúng ta có thể\Nxóa bớt hai lệnh "text", Dialogue: 0,0:01:19.55,0:01:22.25,Default,,0000,0000,0000,,chỉ sử dụng một lệnh "text\Nvà thêm một biến "message" Dialogue: 0,0:01:22.25,0:01:27.08,Default,,0000,0000,0000,,gán với biến "myName"\Ncộng thêm ba dấu chấm than. Dialogue: 0,0:01:27.75,0:01:30.30,Default,,0000,0000,0000,,Sau đó, nếu chúng ta\Nthế "message" vào lệnh "text" Dialogue: 0,0:01:30.30,0:01:32.83,Default,,0000,0000,0000,,thay vì "myName",\Nta có thể thấy rằng Dialogue: 0,0:01:32.83,0:01:34.64,Default,,0000,0000,0000,,3 dấu chấm than đã\Nđược thêm vào sau Dialogue: 0,0:01:34.64,0:01:37.31,Default,,0000,0000,0000,,biến "myName" là "Sophia",\Nnhư cú pháp của biến "message". Dialogue: 0,0:01:38.06,0:01:40.17,Default,,0000,0000,0000,,Chúng ta còn có thể\Nthực hiện thêm thao tác Dialogue: 0,0:01:40.17,0:01:42.96,Default,,0000,0000,0000,,chẳng hạn như\Nviết biến "message" hai lần. Dialogue: 0,0:01:42.96,0:01:46.07,Default,,0000,0000,0000,,Như vậy, việc gán các "string"\Nphụ thuộc vào nhau Dialogue: 0,0:01:46.07,0:01:49.03,Default,,0000,0000,0000,,nghĩa là ta gán một "string"\Nvào sau một "string" khác. Dialogue: 0,0:01:49.03,0:01:51.63,Default,,0000,0000,0000,,Liệu ta có thể thực hiện\Nthao tác nâng cao hơn không? Dialogue: 0,0:01:51.63,0:01:54.55,Default,,0000,0000,0000,,Chẳng hạn như thực hiện nhân,\Nchia hoặc trừ các "string"? Dialogue: 0,0:01:54.55,0:01:57.35,Default,,0000,0000,0000,,Trên thực tế, ta không thể\Nthực hiện các thao tác này. Dialogue: 0,0:01:57.35,0:01:59.33,Default,,0000,0000,0000,,Ta chỉ có thể thêm\N"string" này vào "string" khác. Dialogue: 0,0:01:59.33,0:02:01.75,Default,,0000,0000,0000,,Ta có thể chia hoặc trừ\Nvới các biến có giá trị là số, Dialogue: 0,0:02:01.75,0:02:04.66,Default,,0000,0000,0000,,nhưng với biến "string"\Nthì ta chỉ được thêm "string". Dialogue: 0,0:02:04.66,0:02:07.44,Default,,0000,0000,0000,,Tuy nhiên, việc tò mò\Nvà đặt những câu hỏi như vậy Dialogue: 0,0:02:07.44,0:02:09.53,Default,,0000,0000,0000,,là thái độ học tập\Nđúng đắn với lập trình. Dialogue: 0,0:02:09.53,0:02:11.86,Default,,0000,0000,0000,,Bạn hoàn toàn có thể\Ntự đặt câu hỏi như vậy. Dialogue: 0,0:02:13.13,0:02:16.93,Default,,0000,0000,0000,,Ta cũng có thể tạo hiệu ứng hoạt hình\Nvà tương tác chuột với các "string". Dialogue: 0,0:02:17.50,0:02:20.29,Default,,0000,0000,0000,,Ví dụ, ta có thể làm cho "string"\Nđổi vị trí theo con trỏ chuột Dialogue: 0,0:02:20.29,0:02:23.19,Default,,0000,0000,0000,,bằng cách gán "string" với hàm "draw"\Nnhư khi làm với hình chữ nhật. Dialogue: 0,0:02:23.48,0:02:26.42,Default,,0000,0000,0000,,Ta nhập như sau:\N"var draw = function()" Dialogue: 0,0:02:26.80,0:02:29.66,Default,,0000,0000,0000,,và đưa tất cả vào hàm "draw". Dialogue: 0,0:02:29.66,0:02:32.90,Default,,0000,0000,0000,,Tương tự như khi học về\Nhiệu ứng hoạt hình, phải không? Dialogue: 0,0:02:32.90,0:02:36.33,Default,,0000,0000,0000,,Bây giờ, để khiến văn bản di chuyển\Ntheo vị trí di con trỏ chuột, Dialogue: 0,0:02:36.33,0:02:39.46,Default,,0000,0000,0000,,chúng ta cần dùng đến biến\N"mouseX" và "mouseY". Dialogue: 0,0:02:39.46,0:02:43.19,Default,,0000,0000,0000,,Và kết quả trả về là vô số chữ\N"Sophia!!!" được hiển thị liên tục. Dialogue: 0,0:02:43.19,0:02:46.82,Default,,0000,0000,0000,,Đương nhiên nếu muốn, \Nchúng ta có thể thêm lệnh "background" Dialogue: 0,0:02:46.82,0:02:50.83,Default,,0000,0000,0000,,để đổi màu nền thành xanh lam nhạt. Dialogue: 0,0:02:50.83,0:02:55.08,Default,,0000,0000,0000,,Và bây giờ, ta đã thành công làm cho chữ\Ndi chuyển theo vị trí di con trỏ chuột, Dialogue: 0,0:02:55.08,0:02:56.80,Default,,0000,0000,0000,,tương tự như với hình chữ nhật. Dialogue: 0,0:02:57.19,0:03:00.13,Default,,0000,0000,0000,,Tiếp theo, chúng ta sẽ cùng\Ntạo hiệu ứng hoạt hình Dialogue: 0,0:03:00.13,0:03:02.64,Default,,0000,0000,0000,,để làm cho kích thước văn bản to dần. Dialogue: 0,0:03:02.64,0:03:06.23,Default,,0000,0000,0000,,Đầu tiên, áp dụng kiến thức đã học\Nvề biến, thay vì sử dụng "textSize(30)" Dialogue: 0,0:03:06.23,0:03:10.79,Default,,0000,0000,0000,,ta có thể nhập biến như sau:\N"var howBig = 30;" Dialogue: 0,0:03:10.79,0:03:14.20,Default,,0000,0000,0000,,và thay biến này vào "textSize"\Nthay vì trực tiếp dùng số 30. Dialogue: 0,0:03:14.65,0:03:16.42,Default,,0000,0000,0000,,Kết quả trả về vẫn như trước. Dialogue: 0,0:03:16.42,0:03:18.65,Default,,0000,0000,0000,,Vì vậy, ta cần thêm\Nhoặc thay đổi chương trình Dialogue: 0,0:03:18.65,0:03:20.48,Default,,0000,0000,0000,,để tạo được hiệu ứng hoạt hình. Dialogue: 0,0:03:20.48,0:03:25.42,Default,,0000,0000,0000,,Ta có thể nhập thêm\N"howBig = howBig + 1" Dialogue: 0,0:03:25.42,0:03:28.31,Default,,0000,0000,0000,,để cộng thêm một vào giá trị\Nkhởi tạo ban đầu Dialogue: 0,0:03:28.31,0:03:32.21,Default,,0000,0000,0000,,của biến "howBig"\Nđể làm cho nó lớn hơn. Dialogue: 0,0:03:32.21,0:03:34.75,Default,,0000,0000,0000,,Bây giờ, chúng ta chỉ cần\Nchạy lại cho chương trình Dialogue: 0,0:03:34.75,0:03:37.50,Default,,0000,0000,0000,,và kết quả trả về là\Nkhi ta di con trỏ chuột, Dialogue: 0,0:03:37.50,0:03:39.86,Default,,0000,0000,0000,,kích thước văn bản cũng to dần Dialogue: 0,0:03:39.86,0:03:41.94,Default,,0000,0000,0000,,nhờ vào dòng\N"howBig = howBig + 1" này. Dialogue: 0,0:03:43.26,0:03:44.72,Default,,0000,0000,0000,,Tại sao bạn không\Nthử tự nghĩ Dialogue: 0,0:03:44.72,0:03:47.59,Default,,0000,0000,0000,,cách để làm cho kích thước\Nvăn bản to nhanh hơn? Dialogue: 0,0:03:48.09,0:03:51.65,Default,,0000,0000,0000,,Như vậy, không chỉ học được\Ncách lập trình với các hình vẽ Dialogue: 0,0:03:51.65,0:03:54.77,Default,,0000,0000,0000,,mà qua video này, bạn đã nắm được\Ncách lập trình với văn bản.