0:00:00.000,0:00:04.168 Trong video này, ta sẽ học các kiến thức[br]nâng cao hơn với lệnh "text". 0:00:04.348,0:00:06.008 Đầu tiên, chúng ta sẽ bắt đầu 0:00:06.008,0:00:08.258 học cách sử dụng "string",[br]nghĩa là chuỗi ký tự. 0:00:08.258,0:00:10.020 Vậy chuỗi ký tự là gì? 0:00:10.020,0:00:12.065 Trong lập trình, đây là[br]một tên gọi đặc biệt 0:00:12.065,0:00:13.610 sử dụng cho một đoạn văn bản. 0:00:13.610,0:00:16.476 Bạn có thể hiểu chuỗi ký tự[br]như một dây nối liền các chữ cái. 0:00:16.476,0:00:19.443 Tên bạn là một chuỗi ký tự,[br]tên trường học là một chuỗi ký tự. 0:00:19.443,0:00:22.100 Mỗi tin nhắn mà bạn[br]gửi cũng là một chuỗi ký tự. 0:00:22.100,0:00:25.498 Về cơ bản, ta có thể coi[br]chuỗi ký tự là văn bản. 0:00:25.698,0:00:28.795 Trong video trước, ta đã học cách tạo[br]và đổi màu các chuỗi ký tự. 0:00:28.795,0:00:31.157 Vậy ta hoàn toàn có thể[br]dùng biến với chuỗi ký tự. 0:00:31.157,0:00:33.115 Tương tự như cách[br]gán một số cho một biến, 0:00:33.115,0:00:35.453 ta cũng có thể gán một[br]chuỗi ký tự 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.645 "var myName =", rồi nhập[br]tên bạn, ví dụ như "Sophia". 0:00:40.645,0:00:42.599 Sophia cần đặt trong dấu ngoặc kép. 0:00:42.599,0:00:44.484 Sau đó, chúng ta thay biến "myName" 0:00:44.484,0:00:46.799 vào phần văn bản cần[br]hiển thị trong câu lệnh text 0:00:46.799,0:00:48.536 như ta đã làm trước kia. 0:00:48.536,0:00:50.698 Ta vẫn thu được kết quả[br]tương tự trên khung. 0:00:50.698,0:00:53.300 Và 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 rõ ràng các văn bản. 0:00:57.316,0:00:59.402 Bạn cũng có thể cho biến "myName" 0:00:59.402,0:01:01.788 nhận "Your Name",[br]nghĩa là tên của bạn, 0:01:01.788,0:01:04.025 bằng cách này, bạn sẽ viết được[br]tên mình 3 lần. 0:01:04.025,0:01:07.233 Bây giờ, ta đổi lại tên 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 nhiều[br]chuỗi ký tự với nhau 0:01:09.541,0:01:12.819 bằng 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 chuỗi ký tự với nhau. 0:01:17.063,0:01:19.667 Ví dụ, chúng ta sẽ[br]xóa bớt hai lệnh "text", 0:01:19.667,0:01:22.248 thêm một biến "message"[br]nghĩa là tin nhắn 0:01:22.248,0:01:27.080 và gán biến "myName" cộng[br]ba dấu chấm than vào biến mới này. 0:01:27.750,0:01:30.305 Như vậy, nếu chúng ta thay [br]"message" vào "myName" 0:01:30.305,0:01:32.830 trong lệnh "text", 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.932 giá trị của 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ư viết[br]biến "message" hai lần. 0:01:42.962,0:01:46.068 Như vậy, việc gắn các chuỗi ký tự với nhau 0:01:46.068,0:01:49.034 nghĩa là ta gắn một chuỗi ký tự[br]vào sau một chuỗi ký tự khác. 0:01:49.034,0:01:51.627 Tiếp theo, ta còn có thể[br]làm gì khác với câu lệnh text? 0:01:51.627,0:01:54.530 Ta có thể thực hiện nhân,[br]chia hoặc trừ các chuỗi ký tự không? 0:01:54.530,0:01:57.048 Trên thực tế, ta không thể[br]thực hiện các thao tác này. 0:01:57.048,0:01:59.906 Ta chỉ có thể gắn thêm chuỗi ký tự[br]này vào chuỗi ký tự khác. 0:01:59.906,0:02:02.714 Ta chỉ có thể chia hoặc trừ[br]với các biến nhận giá trị là số, 0:02:02.714,0:02:05.522 nhưng với biến chuỗi ký tự[br]thì ta chỉ được thêm chuỗi ký tự. 0:02:05.522,0:02:07.444 Việc tò mò và đặt những câu hỏi như vậy 0:02:07.444,0:02:09.426 là một cách rất tốt để bạn học lập trình. 0:02:09.426,0:02:12.660 Bạn hoàn toàn có thể tự đặt câu hỏi[br]cho mình để phát triển tư duy. 0:02:13.024,0:02:16.880 Tiếp theo, 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 chuỗi ký tự. 0:02:16.880,0:02:20.201 Ví dụ, ta có thể làm cho chuỗi ký tự[br]đổi vị trí theo vị trí con trỏ chuột 0:02:20.201,0:02:23.756 bằng cách gán chuỗi ký tự với hàm "draw"[br]như khi ta làm với hình chữ nhật. 0:02:23.756,0:02:26.795 Ta nhập như sau:[br]"var draw = function()" 0:02:26.795,0:02:29.664 và đưa tất cả biến[br]chuỗi ký tự 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. 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 thay biến "mouseX"[br]và "mouseY" vào vị trí 2 tham số. 0:02:39.459,0:02:43.188 Và kết quả là vô số "Sophia!!!" được[br]hiển thị theo vị trí di của con trỏ chuột. 0:02:43.188,0:02:48.353 Chúng ta có thể thêm lệnh "background",[br]đổi màu nền thành xanh lam nhạt 0:02:48.353,0:02:51.168 để chỉ có 1 "Sophia!!!"[br]di theo con trỏ chuột. 0:02:51.168,0:02:54.712 Vậy là chuỗi ký tự của chúng ta đã[br]di chuyển theo vị trí di con trỏ chuột, 0:02:54.712,0:02:56.996 tương tự như hình chữ nhật[br]trong các bài trước. 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 "var howBig = 30;" 0:03:10.794,0:03:14.199 và thay biến này cho số 30[br]ở câu lệnh "textSize". 0:03:14.449,0:03:16.417 Khung kết quả vẫn chưa có gì thay đổi. 0:03:16.417,0:03:18.646 Vì vậy, ta cần làm các bước tiếp theo 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 "howBig = howBig + 1" 0:03:25.424,0:03:28.314 để cộng thêm một đơn vị vào[br]giá trị khởi tạo ban đầu 0:03:28.314,0:03:32.214 gán cho biến "howBig",[br]thể hiện rằng giá trị sẽ lớn dần. 0:03:32.214,0:03:34.754 Bây giờ, chúng ta sẽ[br]chạy lại chương trình. 0:03:34.754,0:03:37.495 Trong khung kết quả,[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 "howBig = howBig + 1" này. 0:03:43.262,0:03:44.716 Bạn cũng có thể tự nghĩ xem 0:03:44.716,0:03:47.590 làm thế nào để kích thước[br]văn bản to lên nhanh hơn? 0:03:48.086,0:03:51.653 Tóm lại, đến bài này, chúng ta không chỉ[br]biết lập trình với các hình khối 0:03:51.653,0:03:54.771 mà còn học được cách[br]lập trình với văn bản nữa.