Bài 7: Kịch bản sống động với Lệnh Phát tin (Broadcast) trong Scratch

Chào mừng các "Đạo diễn" tài ba đến với Bài 7!

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)Lệnh Khi nhận tin (When I receive).

Mục tiêu bài học

  • Hiểu được cơ chế hoạt động của cặp lệnh Phát tin (Broadcast)Khi nhận tin (When I receive).
  • Biết cách sử dụng lệnh Phát tin để điều khiển sự tương tác giữa các nhân vật.
  • Áp dụng lệnh Phát tin để tạo đoạn hội thoại qua lại giữa các nhân vật.
  • Ứng dụng lệnh Phát tin để chuyển đổi màn hình (ví dụ: màn hình Start Game và Play Game).

Cơ chế truyền tin trong Scratch: Cặp lệnh "Song kiếm hợp bích"

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!

1. Lệnh Phát tin (Broadcast)

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.

2. Lệnh Khi nhận tin (When I receive)

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ó.

Ứng dụng 1: Tạo đoạn hội thoại giữa các nhân vật

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é!

Kịch bản:

  • Nhân vật Mèo Scratchy nói "Chào bạn!"
  • Nhân vật Giga (hoặc một nhân vật khác bạn thích) nhận được lời chào và đáp lại "Chào Scratchy! Tớ là Giga."
  • Mèo Scratchy nhận được lời đáp và nói "Rất vui được làm quen!"

Các bước thực hiện:

  1. Chọn nhân vật: Thêm 2 nhân vật vào sân khấu (ví dụ: Sprite1 và Giga).
  2. 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.

  3. 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".

  4. 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ây

    Giả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.

Ứng dụng 2: Chuyển đổi màn hình (Start Game và Play Game)

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".

Kịch bản:

  • Khi bắt đầu trò chơi, chúng ta thấy màn hình "Start Game" và một nút "Bắt đầu".
  • Khi bấm vào nút "Bắt đầu", màn hình sẽ chuyển sang "Play Game" và các nhân vật trò chơi sẽ xuất hiện.

Các bước thực hiện:

  1. Chuẩn bị phông nền:
    • Tạo 2 phông nền: 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).
  2. Tạo nút "Bắt đầu":
    • Vẽ hoặc chọn một nhân vật làm nút "Bắt đầu" (ví dụ: một hình chữ nhật có chữ "PLAY").
    • 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 đầu
  3. Lập trình cho phông nền:
    • Và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]
  4. Lập trình cho các nhân vật chính trong game (ví dụ: nhân vật người chơi):
    • Mỗi nhân vật game cần biết khi nào nó nên xuất hiện hoặc ẩn đi.
    • 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 ở đây

Mẹ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!

Tóm tắt bài học

  • Lệnh 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.
  • Lệnh 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.
  • Cặp lệnh này giúp các nhân vật và phông nền "giao tiếp" với nhau, tạo ra sự tương tác và điều khiển logic game một cách hiệu quả.
  • Chúng ta có thể dùng nó để tạo hội thoại, chuyển màn hình, điều khiển nhiều nhân vật cùng lúc hoặc phản ứng theo một sự kiện chung.

Bài tập thực hành: Kịch nói về thời tiết

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:

  1. Khi bấm lá cờ xanh, nhân vật kể chuyện nói "Hôm nay thời tiết thế nào nhỉ?" rồi phát tin "HoiThoiTiet".
  2. Khi nhận được tin "HoiThoiTiet":
    • Mặt trời nói "Trời nắng ấm lắm!" rồi phát tin "NangAm".
    • Đám mây đợi 2 giây (để Mặt trời nói xong) rồi nói "Nhưng cũng có vài đám mây trôi qua!"
  3. Khi nhận được tin "NangAm":
    • Nhân vật kể chuyện nói "Ồ, vậy là một ngày đẹp trời!"

Thử thách nâng cao (Optional)

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.


Em thấy bài học này thế nào?

Hãy là người đầu tiên đánh giá bài học này!

📞
Gọi Thầy Sáng: 0934.99.58.58