Trong video này, ta sẽ học các kiến thức
nâng cao hơn với lệnh "text".
Đầu tiên, chúng ta sẽ bắt đầu
học cách sử dụng "string",
nghĩa là chuỗi ký tự.
Vậy chuỗi ký tự là gì?
Trong lập trình, đây là
một tên gọi đặc biệt
sử dụng cho một đoạn văn bản.
Bạn có thể hiểu chuỗi ký tự
như một dây nối liền các chữ cái.
Tên bạn là một chuỗi ký tự,
tên trường học là một chuỗi ký tự.
Mỗi tin nhắn mà bạn
gửi cũng là một chuỗi ký tự.
Về cơ bản, ta có thể coi
chuỗi ký tự là văn bản.
Trong video trước, ta đã học cách tạo
và đổi màu các chuỗi ký tự.
Vậy ta hoàn toàn có thể
dùng biến với chuỗi ký tự.
Tương tự như cách
gán một số cho một biến,
ta cũng có thể gán một
chuỗi ký tự cho một biến.
Chúng ta có thể nhập như sau:
"var myName =", rồi nhập
tên bạn, ví dụ như "Sophia".
Sophia cần đặt trong dấu ngoặc kép.
Sau đó, chúng ta thay biến "myName"
vào phần văn bản cần
hiển thị trong câu lệnh text
như ta đã làm trước kia.
Ta vẫn thu được kết quả
tương tự trên khung.
Và ta có thể nhập
vô số lệnh "text" tương tự
và thay đổi giá trị các tham số
để trình bày rõ ràng các văn bản.
Bạn cũng có thể cho biến "myName"
nhận "Your Name",
nghĩa là tên của bạn,
bằng cách này, bạn sẽ viết được
tên mình 3 lần.
Bây giờ, ta đổi lại tên thành "Sophia"
để tiếp tục bài học.
Liệu ta có thể gắn nhiều
chuỗi ký tự với nhau
bằng cách gán biến này
phụ thuộc vào biến khác hay không?
Chúng ta có thể thực hiện được
và chương trình sẽ liên kết
hai chuỗi ký tự với nhau.
Ví dụ, chúng ta sẽ
xóa bớt hai lệnh "text",
thêm một biến "message"
nghĩa là tin nhắn
và gán biến "myName" cộng
ba dấu chấm than vào biến mới này.
Như vậy, nếu chúng ta thay
"message" vào "myName"
trong lệnh "text", ta có thể thấy rằng
3 dấu chấm than đã
được thêm vào sau
giá trị của biến "myName" là "Sophia",
như cú pháp của biến "message".
Chúng ta còn có thể
thực hiện thêm thao tác,
chẳng hạn như viết
biến "message" hai lần.
Như vậy, việc gắn các chuỗi ký tự với nhau
nghĩa là ta gắn một chuỗi ký tự
vào sau một chuỗi ký tự khác.
Tiếp theo, ta còn có thể
làm gì khác với câu lệnh text?
Ta có thể thực hiện nhân,
chia hoặc trừ các chuỗi ký tự không?
Trên thực tế, ta không thể
thực hiện các thao tác này.
Ta chỉ có thể gắn thêm chuỗi ký tự
này vào chuỗi ký tự khác.
Ta chỉ có thể chia hoặc trừ
với các biến nhận giá trị là số,
nhưng với biến chuỗi ký tự
thì ta chỉ được thêm chuỗi ký tự.
Việc tò mò và đặt những câu hỏi như vậy
là một cách rất tốt để bạn học lập trình.
Bạn hoàn toàn có thể tự đặt câu hỏi
cho mình để phát triển tư duy.
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ự.
Ví dụ, ta có thể làm cho chuỗi ký tự
đổi vị trí theo vị trí con trỏ chuột
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.
Ta nhập như sau:
"var draw = function()"
và đưa tất cả biến
chuỗi ký tự vào hàm "draw"
tương tự như khi học về
hiệu ứng hoạt hình.
Bây giờ, để khiến văn bản di chuyển
theo vị trí di con trỏ chuột,
chúng ta cần thay biến "mouseX"
và "mouseY" vào vị trí 2 tham số.
Và kết quả là vô số "Sophia!!!" được
hiển thị theo vị trí di của con trỏ chuột.
Chúng ta có thể thêm lệnh "background",
đổi màu nền thành xanh lam nhạt
để chỉ có 1 "Sophia!!!"
di theo con trỏ chuột.
Vậy là chuỗi ký tự của chúng ta đã
di chuyển theo vị trí di con trỏ chuột,
tương tự như hình chữ nhật
trong các bài trước.
Tiếp theo, chúng ta sẽ cùng
tạo hiệu ứng hoạt hình
để làm cho kích thước văn bản to dần.
Đầu tiên, áp dụng kiến thức đã học
về biến, thay vì sử dụng "textSize(30)"
ta có thể nhập biến "var howBig = 30;"
và thay biến này cho số 30
ở câu lệnh "textSize".
Khung kết quả vẫn chưa có gì thay đổi.
Vì vậy, ta cần làm các bước tiếp theo
để tạo được hiệu ứng hoạt hình.
Ta có thể nhập "howBig = howBig + 1"
để cộng thêm một đơn vị vào
giá trị khởi tạo ban đầu
gán cho biến "howBig",
thể hiện rằng giá trị sẽ lớn dần.
Bây giờ, chúng ta sẽ
chạy lại chương trình.
Trong khung kết quả,
khi ta di con trỏ chuột,
kích thước văn bản cũng to dần
nhờ vào dòng "howBig = howBig + 1" này.
Bạn cũng có thể tự nghĩ xem
làm thế nào để kích thước
văn bản to lên nhanh hơn?
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
mà còn học được cách
lập trình với văn bản nữa.