Các bạn nhỏ thân mến, các bạn có bao giờ xem một vở kịch hay một bộ phim chưa? Trong đó, các nhân vật thường trò chuyện với nhau, hoặc có những tín hiệu báo hiệu một cảnh mới sắp bắt đầu. Trong thế giới Scratch đầy màu sắc của chúng ta cũng vậy, các nhân vật và phông nền cũng cần có cách để "giao tiếp" với nhau, để tạo ra những câu chuyện, trò chơi thật sinh động!
Bài học hôm nay sẽ giúp các bạn trở thành những "đạo diễn" thực thụ, biến sân khấu Scratch của mình thành một vở kịch tương tác hấp dẫn, bằng cách sử dụng một cặp lệnh cực kỳ quyền năng: Lệnh Phát tin (Broadcast) và Lệnh Khi nhận tin (When I receive).
Hãy tưởng tượng bạn đang ở trong một căn phòng. Khi bạn muốn thông báo một điều gì đó cho mọi người, bạn sẽ nói to lên, đúng không? Và những người khác, khi nghe thấy lời bạn nói, sẽ phản ứng lại. Cơ chế truyền tin trong Scratch cũng tương tự như vậy đấy!
Phát tin (Broadcast) giống như việc bạn hô to một thông báo cho tất cả mọi người (các nhân vật và phông nền) trên sân khấu Scratch nghe thấy.
Lệnh Phát tin [tin nhắn ▾] (tên tiếng Anh: broadcast [message ▾]) và Phát tin [tin nhắn ▾] và đợi (tên tiếng Anh: broadcast [message ▾] and wait) nằm trong nhóm lệnh Sự kiện (Events). Chức năng của chúng là gửi một thông điệp (hay còn gọi là "tin nhắn") đến tất cả các đối tượng (nhân vật và phông nền) có mặt trên sân khấu.
Phát tin [tin nhắn ▾]: Gửi tin nhắn và tiếp tục thực hiện các lệnh tiếp theo ngay lập tức, không chờ đợi.Phát tin [tin nhắn ▾] và đợi: Gửi tin nhắn và đợi cho đến khi tất cả các đối tượng đã xử lý xong tin nhắn đó, rồi mới thực hiện các lệnh tiếp theo. Chúng ta sẽ thường dùng loại lệnh không đợi cho các trường hợp đơn giản.Bạn có thể tạo ra nhiều tin nhắn khác nhau, mỗi tin nhắn mang một nội dung và ý nghĩa riêng.
Khi nhận tin (When I receive) giống như việc các nhân vật khác lắng nghe thông báo đó và chỉ hành động khi nghe thấy đúng thông báo mà chúng quan tâm.
Lệnh Khi nhận tin [tin nhắn ▾] (tên tiếng Anh: when I receive [message ▾]) cũng nằm trong nhóm lệnh Sự kiện (Events). Lệnh này hoạt động như một "tai nghe": khi một đối tượng (nhân vật hoặc phông nền) nhận được đúng tin nhắn mà nó đã được "lập trình để nghe", nó sẽ bắt đầu thực hiện các khối lệnh phía dưới nó.
Hãy cùng nhau tạo một đoạn hội thoại đơn giản giữa hai nhân vật nhé!
Lập trình cho nhân vật Sprite1 (Mèo Scratchy):
khi bấm vào lá cờ xanh
nói "Chào bạn!" trong 2 giây
phát tin [Chào hỏi]Giải thích: Khi bắt đầu chương trình, Mèo Scratchy chào và sau đó phát ra một tin nhắn tên là "Chào hỏi" cho tất cả mọi người.
Lập trình cho nhân vật Giga:
khi nhận tin [Chào hỏi]
nói "Chào Scratchy! Tớ là Giga." trong 2 giây
phát tin [Đáp lời]Giải thích: Khi Giga nhận được tin nhắn "Chào hỏi" (từ Mèo Scratchy), Giga sẽ nói lời chào lại và sau đó phát ra một tin nhắn khác tên là "Đáp lời".
Tiếp tục lập trình cho nhân vật Sprite1 (Mèo Scratchy):
khi nhận tin [Đáp lời]
nói "Rất vui được làm quen!" trong 2 giâyGiải thích: Mèo Scratchy sẽ lắng nghe tin nhắn "Đáp lời". Khi nhận được, nó sẽ nói câu cuối cùng để kết thúc đoạn hội thoại.
Một ứng dụng rất hay khác của lệnh phát tin là để điều khiển việc chuyển đổi giữa các màn hình trong trò chơi, ví dụ như từ màn hình "Start Game" sang màn hình "Play Game".
Start Screen (màn hình bắt đầu, có thể thêm chữ "Bắt đầu trò chơi") và Game Screen (màn hình trò chơi chính).Lập trình cho nút "Bắt đầu":
khi bấm vào lá cờ xanh
hiện // Nút này chỉ hiện trên màn hình Start
khi bấm vào nhân vật này
phát tin [BatDauGame]
ẩn // Nút sẽ ẩn đi khi game bắt đầuVào phần Phông nền (Backdrops) và lập trình:
khi bấm vào lá cờ xanh
chuyển phông nền thành [Start Screen]
khi nhận tin [BatDauGame]
chuyển phông nền thành [Game Screen]Ví dụ cho nhân vật người chơi:
khi bấm vào lá cờ xanh
ẩn // Nhân vật ẩn khi ở màn hình Start
khi nhận tin [BatDauGame]
hiện // Hiện khi game bắt đầu
// Thêm các lệnh điều khiển khác cho nhân vật game ở đâyMẹo nhỏ: Bạn có thể tạo các tin nhắn như "HienGame" (hiện các đối tượng game), "AnGame" (ẩn các đối tượng game), "KetThucGame" để điều khiển nhiều thứ cùng lúc một cách dễ dàng!
Phát tin [tin nhắn ▾] dùng để gửi một thông điệp đến tất cả các đối tượng khác.Khi nhận tin [tin nhắn ▾] dùng để lắng nghe và thực hiện các hành động khi nhận được đúng thông điệp đã định.Hãy tạo một dự án Scratch với 3 nhân vật: Mặt trời, Đám mây và một nhân vật kể chuyện. Yêu cầu:
Hãy tạo một trò chơi nhỏ có màn hình khởi động (Start Screen) và màn hình kết thúc (Game Over Screen) sử dụng lệnh phát tin để chuyển đổi giữa 3 màn hình này. Thêm một nút "Chơi lại" trên màn hình Game Over.
Hãy là người đầu tiên đánh giá bài học này!