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