0:00:01.336,0:00:04.608 Trong video này, ta sẽ lập trình[br]nâng cao hơn với lệnh "text". 0:00:04.608,0:00:06.008 Đầu tiên, chúng ta sẽ bắt đầu 0:00:06.008,0:00:08.278 học cách sử dụng[br]"string" (chuỗi ký tự). 0:00:08.278,0:00:10.610 Vậy "string" hay chuỗi ký tự là gì? 0:00:10.610,0:00:12.725 Trong lập trình, đây là[br]một tên gọi đặc biệt 0:00:12.725,0:00:14.580 sử dụng cho một kiểu dữ liệu. 0:00:14.580,0:00:16.566 Bạn hãy hiểu "string" là[br]một chuỗi các ký tự. 0:00:16.566,0:00:19.073 Tên bạn là một "string",[br]tên trường học là một "string" 0:00:19.073,0:00:22.100 và mỗi tin nhắn mà bạn[br]từng gửi cũng là một "string". 0:00:22.100,0:00:25.498 Về cơ bản, có thể coi "string"[br]bằng với "text" (nghĩa là văn bản). 0:00:25.978,0:00:28.565 Chúng ta đã học cách viết[br]và đổi màu các "string". 0:00:28.565,0:00:30.987 Vậy ta hoàn toàn có thể[br]dùng biến với các "string". 0:00:30.987,0:00:33.225 Tương tự như cách[br]gán một giá trị cho một biến, 0:00:33.225,0:00:35.233 ta cũng có thể[br]gán một "string" cho một biến. 0:00:35.453,0:00:37.391 Chúng ta có thể nhập như sau: 0:00:37.391,0:00:40.965 "var myName =", rồi nhập[br]tên bạn, "Sophia" chẳng hạn. 0:00:40.965,0:00:42.599 Đừng quên đặt giữa dấu ngoặc kép. 0:00:42.599,0:00:44.484 Sau đó, chúng ta đặt biến "myName" 0:00:44.484,0:00:46.799 giữa dấu ngoặc kép thay vì "Sophia" 0:00:46.799,0:00:48.536 như ta đã làm trước kia. 0:00:48.536,0:00:50.528 Tuy kết quả trả về không thay đổi 0:00:50.528,0:00:53.300 nhưng ta có thể nhập[br]vô số lệnh "text" tương tự 0:00:53.300,0:00:55.333 và thay đổi giá trị các tham số 0:00:55.333,0:00:57.316 để trình bày văn bản[br]một cách nghệ thuật. 0:00:57.316,0:00:59.402 Tiếp theo, bạn chỉ cần[br]đặt biến "myName" 0:00:59.402,0:01:02.008 thành "Your Name",[br]nghĩa là tên của bạn 0:01:02.008,0:01:04.025 là bạn đã có tên bạn[br]được viết lại 3 lần. 0:01:04.025,0:01:07.233 Bây giờ, ta đổi lại thành "Sophia"[br]để tiếp tục bài học. 0:01:07.233,0:01:09.541 Liệu ta có thể gán các "string"[br]phụ thuộc vào nhau 0:01:09.541,0:01:12.819 như cách gán biến này[br]phụ thuộc vào biến khác hay không? 0:01:12.819,0:01:14.581 Chúng ta có thể thực hiện được 0:01:14.581,0:01:17.063 và chương trình sẽ liên kết[br]hai "string" với nhau. 0:01:17.063,0:01:19.547 Ví dụ, chúng ta có thể[br]xóa bớt hai lệnh "text", 0:01:19.547,0:01:22.248 chỉ sử dụng một lệnh "text[br]và thêm một biến "message" 0:01:22.248,0:01:27.080 gán với biến "myName"[br]cộng thêm ba dấu chấm than. 0:01:27.750,0:01:30.305 Sau đó, nếu chúng ta[br]thế "message" vào lệnh "text" 0:01:30.305,0:01:32.830 thay vì "myName",[br]ta có thể thấy rằng 0:01:32.830,0:01:34.641 3 dấu chấm than đã[br]được thêm vào sau 0:01:34.641,0:01:37.312 biến "myName" là "Sophia",[br]như cú pháp của biến "message". 0:01:38.062,0:01:40.172 Chúng ta còn có thể[br]thực hiện thêm thao tác 0:01:40.172,0:01:42.962 chẳng hạn như[br]viết biến "message" hai lần. 0:01:42.962,0:01:46.068 Như vậy, việc gán các "string"[br]phụ thuộc vào nhau 0:01:46.068,0:01:49.034 nghĩa là ta gán một "string"[br]vào sau một "string" khác. 0:01:49.034,0:01:51.627 Liệu ta có thể thực hiện[br]thao tác nâng cao hơn không? 0:01:51.627,0:01:54.550 Chẳng hạn như thực hiện nhân,[br]chia hoặc trừ các "string"? 0:01:54.550,0:01:57.348 Trên thực tế, ta không thể[br]thực hiện các thao tác này. 0:01:57.348,0:01:59.326 Ta chỉ có thể thêm[br]"string" này vào "string" khác. 0:01:59.326,0:02:01.754 Ta có thể chia hoặc trừ[br]với các biến có giá trị là số, 0:02:01.754,0:02:04.662 nhưng với biến "string"[br]thì ta chỉ được thêm "string". 0:02:04.662,0:02:07.444 Tuy nhiên, việc tò mò[br]và đặt những câu hỏi như vậy 0:02:07.444,0:02:09.526 là thái độ học tập[br]đúng đắn với lập trình. 0:02:09.526,0:02:11.859 Bạn hoàn toàn có thể[br]tự đặt câu hỏi như vậy. 0:02:13.134,0:02:16.930 Ta cũng có thể tạo hiệu ứng hoạt hình[br]và tương tác chuột với các "string". 0:02:17.500,0:02:20.291 Ví dụ, ta có thể làm cho "string"[br]đổi vị trí theo con trỏ chuột 0:02:20.291,0:02:23.186 bằng cách gán "string" với hàm "draw"[br]như khi làm với hình chữ nhật. 0:02:23.476,0:02:26.425 Ta nhập như sau:[br]"var draw = function()" 0:02:26.795,0:02:29.664 và đưa tất cả vào hàm "draw". 0:02:29.664,0:02:32.905 Tương tự như khi học về[br]hiệu ứng hoạt hình, phải không? 0:02:32.905,0:02:36.332 Bây giờ, để khiến văn bản di chuyển[br]theo vị trí di con trỏ chuột, 0:02:36.332,0:02:39.459 chúng ta cần dùng đến biến[br]"mouseX" và "mouseY". 0:02:39.459,0:02:43.188 Và kết quả trả về là vô số chữ[br]"Sophia!!!" được hiển thị liên tục. 0:02:43.188,0:02:46.823 Đương nhiên nếu muốn, [br]chúng ta có thể thêm lệnh "background" 0:02:46.823,0:02:50.828 để đổi màu nền thành xanh lam nhạt. 0:02:50.828,0:02:55.082 Và bây giờ, ta đã thành công làm cho chữ[br]di chuyển theo vị trí di con trỏ chuột, 0:02:55.082,0:02:56.796 tương tự như với hình chữ nhật. 0:02:57.186,0:03:00.133 Tiếp theo, chúng ta sẽ cùng[br]tạo hiệu ứng hoạt hình 0:03:00.133,0:03:02.640 để làm cho kích thước văn bản to dần. 0:03:02.640,0:03:06.229 Đầu tiên, áp dụng kiến thức đã học[br]về biến, thay vì sử dụng "textSize(30)" 0:03:06.229,0:03:10.794 ta có thể nhập biến như sau:[br]"var howBig = 30;" 0:03:10.794,0:03:14.199 và thay biến này vào "textSize"[br]thay vì trực tiếp dùng số 30. 0:03:14.649,0:03:16.417 Kết quả trả về vẫn như trước. 0:03:16.417,0:03:18.646 Vì vậy, ta cần thêm[br]hoặc thay đổi chương trình 0:03:18.646,0:03:20.485 để tạo được hiệu ứng hoạt hình. 0:03:20.485,0:03:25.424 Ta có thể nhập thêm[br]"howBig = howBig + 1" 0:03:25.424,0:03:28.314 để cộng thêm một vào giá trị[br]khởi tạo ban đầu 0:03:28.314,0:03:32.214 của biến "howBig"[br]để làm cho nó lớn hơn. 0:03:32.214,0:03:34.754 Bây giờ, chúng ta chỉ cần[br]chạy lại cho chương trình 0:03:34.754,0:03:37.495 và kết quả trả về là[br]khi ta di con trỏ chuột, 0:03:37.495,0:03:39.856 kích thước văn bản cũng to dần 0:03:39.856,0:03:41.939 nhờ vào dòng[br]"howBig = howBig + 1" này. 0:03:43.262,0:03:44.716 Tại sao bạn không[br]thử tự nghĩ 0:03:44.716,0:03:47.590 cách để làm cho kích thước[br]văn bản to nhanh hơn? 0:03:48.086,0:03:51.653 Như vậy, không chỉ học được[br]cách lập trình với các hình vẽ 0:03:51.653,0:03:54.771 mà qua video này, bạn đã nắm được[br]cách lập trình với văn bản.