Bỏ qua để đến nội dung

Thông điệp và Cảm biến

Mỗi sprite chạy kịch bản độc lập với nhau - muốn một sprite “báo” cho các sprite khác biết một sự kiện vừa xảy ra (ví dụ: game bắt đầu, người chơi thua), dùng cơ chế thông điệp (message/broadcast).

Vào nhóm Sự kiện → bấm khối phát tin → chọn Thông điệp mới để đặt tên (ví dụ bắt đầu chơi).

khi bấm vào @greenFlag
phát tin [bắt đầu chơi v]

Mọi sprite (kể cả sprite phát tin) có khối khi nhận [bắt đầu chơi] sẽ chạy kịch bản tương ứng - cùng lúc, không theo thứ tự cố định.

khi nhận [bắt đầu chơi v]
đặt [điểm v] thành (0)
hiện

phát tin ... và đợi khác phát tin thường ở chỗ: nó tạm dừng kịch bản hiện tại cho đến khi tất cả kịch bản nhận tin chạy xong, rồi mới tiếp tục - hữu ích khi cần đảm bảo thứ tự, ví dụ chờ màn hình giới thiệu kết thúc trước khi bắt đầu game.

khi bấm vào @greenFlag
phát tin [dem-nguoc v] và đợi
phát tin [bắt đầu chơi v]

Nhóm Cảm biến, màu xanh ngọc, cung cấp các khối boolean/reporter để “nhận biết” môi trường xung quanh sprite.

<đang chạm [con trỏ chuột v]?>
<đang chạm [cạnh v]?>
<đang chạm [Bóng v]?>
<màu [#ff0000] đang chạm [#00ff00]?>
<chuột được nhấn?>
(tọa độ x con trỏ chuột)
(tọa độ y con trỏ chuột)
<phím [space v] được bấm?>
(khoảng cách đến [con trỏ chuột v])
(đồng hồ bấm giờ)
đặt lại đống hồ bấm giờ

đồng hồ bấm giờ đếm số giây kể từ khi dự án bắt đầu chạy hoặc lần cuối đặt lại đồng hồ bấm giờ được gọi - dùng để làm đếm ngược, giới hạn thời gian chơi.

Bài tiếp theo tìm hiểu khối tự tạobản sao (clone) - hai công cụ mạnh để tránh lặp code và tạo nhiều đối tượng động.