Chuyên mục
Khám phá Scratch Blog

Bản Sao Trong Scratch

Bài viết này sẽ giải thích về khái niệm Clone hay còn gọi là bản sao trong Scratch, nêu ví dụ ứng dụng và hướng dẫn cách lập trình với Clone (bản sao) trong Scratch.

Bản Sao Là Gì?

Nếu bạn nhỏ nào yêu thích phim hoạt hình Naruto thì chắc chắn sẽ không còn xa lạ với thuật phân thân. Đây một phép thuật mà Naruto rất hay sử dụng. Phép thuật này giúp Naruto tạo ra nhiều bản sao giống hệt mình. Các bản sao này sẽ làm các việc mà Naruto yêu cầu và sẽ biến mất khi thực hiện xong.

Cách bản sao hoạt động trong Scratch giống hệt như thuật phân thân của Naruto. Chúng ta cần một nhân vật chính. Nhân vật này sẽ được lập trình để tạo ra các bản sao. Tiếp theo, ta sẽ lập trình cho các bản sao hoạt động thay cho bản chính. Khi các bản sao đã hoàn thành nhiệm vụ, chúng ta sẽ xóa chúng đi.

Khi Nào Thì Có Thể Sử Dụng Bản Sao?

Khi chúng ta muốn nhiều nhân vật làm các hành động tương tự nhau thì ta có thể sử dụng bản sao để tránh phải tạo nhiều nhân vật và lập trình lặp đi lặp lại.

Hướng Dẫn Lập Trình Để Bản Chính Sinh Ra Các Bản Sao

Trong bài viết này, nhân vật sẽ được hiểu là bản chính. Các bản sao là từ nhân vật (bản chính) sinh ra.

Câu lệnh “tạo bản sao của bản thân tôi” thuộc mục Điều khiển sẽ giúp tạo một bản sao. Nếu chúng ta muốn tạo ra nhiều bản sao, hãy cho câu lệnh này vào bên trong một câu lệnh lặp. Các bạn có thể sử dụng “Lặp lại ….” khi bạn biết chính xác số bản sao mà bạn muốn sinh ra. Nếu không rõ số lượng bản sao muốn sinh ra, hãy dùng vòng lặp “Liên tục” và kết hợp thêm câu lệnh “Đợi” để các bản sao không sinh ra quá nhanh.

Dưới đây là ví dụ phần lập trình cho nhân vật (bản chính) tạo ra các bản sao.

Bản Sao Trong Scratch

Hướng Dẫn Lập Trình Cho Bản Sao

Sự kiện duy nhất chúng ta có thể sử dụng cho bản sao là “khi tôi bắt đầu là một bản sao”. Chỉ duy nhất những câu lệnh nối bên dưới sự kiện này mới được áp dụng cho bản sao. Tất cả các câu lệnh bên dưới các sự kiện khác sẽ được áp dụng cho bản chính.

Bản Sao Scratch

Ngoại trừ sự khác biệt trong cách sử dụng câu lệnh Sự kiện, tất cả các câu lệnh khác đều có thể áp dụng cho bản sao. Bên dưới Sự kiện “khi tôi bắt đầu là một bản sao” chúng ta có thể lập trình cho bản sao chuyển động, kiểm tra chạm hoặc bất cứ việc gì chúng ta muốn. Những câu lệnh này sẽ được áp dụng cho toàn bộ các bản sao được sinh ra.

Có thể sử dụng nhiều Sự kiện “khi tôi bắt đầu là một bản sao” để nhiều đoạn chương trình dành cho bản sao chạy song song với nhau.

Sau khi bản sao thực hiện xong nhiệm vụ của mình, chúng ta cần xóa chúng đi. Câu lệnh “xóa bản sao này” giúp xóa một bản sao. Trong một chương trình, nếu chúng ta sinh ra quá nhiều bản sao mà không xóa chúng đi (sau khi chúng đã hoàn thành nhiệm vụ) thì chương trình sẽ dễ bị lag do phải xử lý quá nhiều nhân vật.

Bản Sao Trong Scratch

Dưới đây là một ví dụ về phần lập trình cho bản sao. Mỗi khi bản sao được sinh ra, chúng sẽ xuất hiện ở một vị trí bất kỳ phía trên của sân khấu. Sau đó chúng sẽ rơi xuống từ từ. Khi nào chạm đáy màn hình bên dưới thì chúng sẽ bị xoá đi (biến mất).

Lưu Ý Khi Sử Dụng Bản Sao

  • Chúng ta không lập trình cho bản chính hoạt động mà chỉ lập trình cho chúng sinh ra các bản sao. Vì vậy bản chính sẽ đứng yên trên sân khấu. Chúng ta có thể ẩn bản chính để không làm ảnh hưởng đến sự hoạt động của chương trình.
  • Khi ẩn bản chính, các bản sao cũng sẽ thừa kế tính chất này của bản chính. Vì vậy bản sao cũng bị ẩn. Để bản sao hiện, chúng ta cần thêm câu lệnh “Hiện” phía dưới sự kiện “khi tôi bắt đầu là một bản sao”.

Trích nguồn: Clone Trong Scratch

— — —

STEAM for Vietnam Foundation là tổ chức phi lợi nhuận 501(c)(3) được thành lập tại Hoa Kỳ với sứ mệnh thúc đẩy các hoạt động liên quan tới giáo dục STEAM (Science — Khoa học, Technology — Công nghệ, Engineering — Kỹ thuật, Arts — Nghệ thuật, Mathematics — Toán học) tại Việt nam. STEAM for Vietnam được thành lập và vận hành bởi đội ngũ tình nguyện viên là du học sinh và chuyên gia người Việt trên khắp thế giới.

— — —

📧Email: hello@steamforvietnam.org

🌐Website: www.steamforvietnam.org

🌐Fanpage: STEAM for Vietnam

📺YouTube:  http://bit.ly/S4V_YT

🌐Zalo: Zalo Official

Leave a Reply

Your email address will not be published. Required fields are marked *