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