:quality(75)/cach_lam_game_bong_ro_1_b0784e34b2.jpg)
Hướng dẫn cách làm game bóng rổ trên Scratch cực đơn giản và dễ làm cho bạn và bé
Trong bài hướng dẫn này, bạn sẽ từng bước khám phá cách làm game bóng rổ trên Scratch đơn giản nhưng đầy cuốn hút. Điểm cốt lõi của trò chơi nằm ở sự phối hợp nhịp nhàng và căn chỉnh thời gian chính xác. Mỗi nhân vật (sprite) sẽ đảm nhận một vai trò riêng và thứ tự thực hiện các hành động của chúng đóng vai trò rất quan trọng. Đặc biệt, những kỹ thuật bạn tham khảo được ở đây hoàn toàn có thể áp dụng cho nhiều dự án Scratch khác liên quan đến thể thao.
Cách làm game bóng rổ trên Scratch cực đơn giản
Trong phần này, FPT Shop sẽ giới thiệu cách làm game bóng rổ trên Scratch, cùng khám phá cách xây dựng một hoạt cảnh sinh động xoay quanh một trận bóng rổ đầy hấp dẫn.

Trong quá trình lập trình, khối lệnh “wait () seconds” sẽ đóng vai trò điều chỉnh thời gian giữa các hành động như chuyền bóng hoặc di chuyển. Khối “go to x: y:” giúp xác định vị trí chính xác của quả bóng trên sân. Bên cạnh đó, các khối “switch costume to” sẽ được sử dụng để thay đổi biểu cảm, cử chỉ và chuyển động của nhân vật. Tương tự như một trận đấu bóng rổ thực tế, việc xây dựng chiến thuật là yếu tố quan trọng, vì vậy các khối “broadcast message” và “when I receive message” sẽ hỗ trợ điều phối lượt chơi giữa các nhân vật.
Bước 1: Chọn nhân vật và điều chỉnh kích thước
Trước tiên, hãy lựa chọn ba nhân vật cầu thủ bóng rổ như Andie, Jamal và Dorian, cùng với một đối tượng quả bóng. Sau đó, điều chỉnh kích thước của ba nhân vật xuống khoảng 70% và quả bóng xuống 40% để đảm bảo bố cục hài hòa trên sân.

Bước 2: Chọn phông nền
Nhấn vào nút “Chọn phông nền” ở góc dưới bên phải màn hình. Bạn có thể tìm kiếm trực tiếp hoặc truy cập danh mục thể thao để chọn phông nền phù hợp, ví dụ như Basketball 2, nhằm tạo không gian giống một sân bóng rổ thực tế.

Bước 3: Tùy chỉnh trang phục nhân vật – loại bỏ quả bóng
Trong tab Trang phục (Costumes) của từng nhân vật, hãy xóa hình quả bóng có sẵn. Chúng ta sẽ sử dụng một đối tượng bóng riêng biệt để dễ dàng điều khiển. Để thực hiện, chỉ cần nhấp vào hình quả bóng và nhấn phím Backspace hoặc chọn biểu tượng thùng rác để xóa. Nếu thao tác nhầm, bạn hoàn toàn có thể sử dụng nút hoàn tác để khôi phục lại.

Bước 4: Tùy chỉnh trang phục nhân vật – sao chép và chỉnh sửa
Hãy tạo thêm hiệu ứng chuyển động cho nhân vật bằng cách sao chép trang phục của Dorian. Trong danh sách trang phục bên trái, chọn dorian-c, nhấp chuột phải và chọn “sao chép”.

Sau đó, chỉnh sửa bản sao bằng cách nâng cánh tay của nhân vật lên để mô phỏng trạng thái ăn mừng khi ghi điểm. Để xoay cánh tay, bạn chỉ cần nhấp vào phần đó và sử dụng biểu tượng mũi tên cong hai chiều xuất hiện dưới khung chọn.

Bước 5: Thiết lập vị trí ban đầu cho quả bóng
Bây giờ, chúng ta bắt đầu bước lập trình với đối tượng quả bóng. Trước tiên, quay lại trang phục của Dorian và đặt quả bóng vào tay của nhân vật bằng cách kéo thả đến vị trí phù hợp.
Tiếp theo, bạn cần đảm bảo quả bóng luôn xuất hiện đúng vị trí này khi bắt đầu trò chơi bằng cách sử dụng khối lệnh “go to x: () y: ()”. Khối lệnh này sẽ cố định tọa độ của quả bóng mỗi khi nhấn cờ xanh.

Ngoài ra, để tạo cảm giác tự nhiên trước khi thực hiện cú chuyền bóng, hãy thêm một khoảng dừng bằng khối “wait () seconds” và điều chỉnh thành 1.5 giây. Khoảng thời gian này giúp tạo nhịp cho hoạt cảnh, khiến trò chơi trở nên mượt mà và chân thực hơn.
Bước 6: Thiết lập vị trí tiếp theo của quả bóng
Trước tiên, hãy chuyển trang phục của Andie sang andie-a, sau đó kéo quả bóng vào tay phải của nhân vật để căn chỉnh vị trí sao cho tự nhiên. Khi đã đặt đúng vị trí, bạn có thể bắt đầu lập trình chuyển động chuyền bóng từ Dorian sang Andie.
Để thực hiện hiệu ứng này, sử dụng khối lệnh “glide () secs to x: () y: ()”. Khối lệnh này sẽ giúp quả bóng di chuyển mượt mà giữa hai vị trí. Một mẹo nhỏ là bạn nên đặt quả bóng đúng vị trí trước khi kéo khối lệnh vào, vì khi đó các giá trị tọa độ x và y sẽ tự động cập nhật theo vị trí mới, giúp bạn tiết kiệm thời gian chỉnh sửa.

Bước 7: Tạo hiệu ứng đổi tay cho Andie
Ở bước này, chúng ta sẽ giúp Andie thể hiện kỹ năng bằng cách chuyển bóng từ tay này sang tay kia. Để làm được điều đó, bạn sẽ kết hợp giữa khối lệnh “broadcast message” và “when I receive message” nhằm điều phối hành động, cùng với khối “wait () seconds” để tạo khoảng thời gian hợp lý giữa các chuyển động.

Việc phối hợp các khối lệnh này sẽ giúp hoạt cảnh trở nên tự nhiên hơn, đồng thời tạo cảm giác như một pha xử lý bóng thực sự trên sân.
Bước 8: Phát thông điệp đầu tiên
Ở bước này, chúng ta sẽ lập trình để nhân vật Andie thực hiện hai hành động quan trọng:
- Chuyển quả bóng từ tay phải sang tay trái.
- Sau đó chuyền bóng cho Jamal.
Các hành động này sẽ được kích hoạt khi Andie nhận được “message 1” từ bước trước. Khi nhận tín hiệu này, bạn cần thiết lập kịch bản để Andie đổi trang phục (tương ứng với việc đổi tay cầm bóng), đồng thời phát đi một thông điệp mới – gọi là “message 2”. Thông điệp này sẽ dùng để điều khiển chuyển động của quả bóng, giúp bóng di chuyển từ tay phải sang tay trái của Andie một cách đồng bộ với hoạt ảnh.

Bước 9: Phát thông điệp thứ hai
Sau khi hoàn tất bước trên, hãy chạy thử chương trình để kiểm tra. Bạn sẽ thấy Andie đã giơ tay trái lên – đúng với mục tiêu của chúng ta.
Tiếp theo, hãy kéo quả bóng đến vị trí tay trái của Andie để xác định tọa độ mới. Sau đó, sử dụng khối lệnh “glide () secs to x: () y: ()” để tạo chuyển động mượt mà cho quả bóng đến vị trí này. Một lưu ý nhỏ: nếu bạn đặt quả bóng đúng vị trí trước khi thêm khối lệnh, các giá trị x và y sẽ tự động được điền chính xác.

Khi hoàn tất phần này, bước tiếp theo chỉ còn là lập trình để Andie chuyền bóng sang cho Jamal, giúp mạch chuyển động của trò chơi tiếp tục diễn ra liền mạch và tự nhiên.
Bước 10: Thông điệp 2 – Jamal bắt bóng
Đến bước này, chúng ta sẽ lập trình để Jamal nhận bóng từ Andie. Trước tiên, hãy chọn trang phục jamal-a để phù hợp với tư thế đón bóng. Sau đó, kéo quả bóng vào vị trí tay của Jamal để xác định tọa độ chính xác.
Tiếp theo, thêm một khoảng dừng bằng khối “wait () seconds” (khoảng 0.5 giây) để tạo nhịp tự nhiên cho pha bắt bóng. Sau đó, sử dụng khối “glide () secs to x: () y: ()” để quả bóng trượt mượt mà vào tay Jamal.

Ngoài ra, hãy đảm bảo rằng khi nhận “message 2”, Jamal sẽ chuyển sang đúng trang phục jamal-a, thể hiện tư thế sẵn sàng bắt bóng.

Bước 11: Hoàn thiện hành động của Jamal
Tiếp theo, chúng ta sẽ chuẩn bị cho động tác ném bóng của Jamal. Hãy sử dụng trang phục jamal-c, nhưng trước đó cần chỉnh sửa lại để tạo hiệu ứng tự nhiên hơn. Cụ thể, hãy điều chỉnh hai cánh tay của Jamal sao cho gần nhau hơn, tương tự cách bạn đã thực hiện với Dorian ở Bước 4.

Sau khi chỉnh sửa xong, hãy lập trình để Jamal chuyển sang trang phục này vào đúng thời điểm. Để làm được điều đó, bạn cần chèn thêm một khối “wait () seconds” giữa các hành động, giúp quá trình chuyển đổi diễn ra mượt mà và đúng nhịp trong chuỗi hoạt cảnh.

Bước 12: Chuẩn bị cho pha ghi điểm
Tiếp tục hoàn thiện chuỗi chuyển động của quả bóng, ở bước này bạn cần đặt bóng vào vị trí giữa hai tay của Jamal để tạo cảm giác chuẩn bị ném.
Sau đó, thêm một khoảng dừng ngắn bằng khối “wait () seconds” để tạo nhịp cho hành động. Tiếp theo, sử dụng thêm khối “go to x: () y: ()” nhằm điều chỉnh lại vị trí của quả bóng nếu cần, đảm bảo bóng luôn nằm đúng vị trí trước khi thực hiện cú ném. Việc kết hợp giữa dừng và định vị sẽ giúp chuyển động trở nên tự nhiên và chính xác hơn.

Bước 13: Hoàn tất pha ghi điểm
Chúng ta đang tiến gần đến bước hoàn thiện! Ở phần này, hãy tạo hiệu ứng để Jamal thực hiện cú ném bóng vào rổ:
Đầu tiên, đặt quả bóng ở phía trên vành rổ, sau đó sử dụng khối “glide () secs to x: () y: ()” để bóng di chuyển lên vị trí này.
Tiếp theo, đặt bóng xuống phía dưới rổ và thêm một khối “glide” nữa để mô phỏng bóng rơi qua rổ.
Sau khi hoàn thành chuyển động ghi điểm, hãy phát một thông điệp mới có tên “message3”. Thông điệp này sẽ kích hoạt hoạt ảnh ăn mừng cho cả ba nhân vật, chẳng hạn như giơ tay lên cao hoặc nhảy lên thể hiện sự vui mừng khi ghi điểm thành công.

Đây là bước giúp trò chơi trở nên sinh động và mang lại cảm giác thành tựu rõ ràng cho người chơi.
Bước 14: Tạo hiệu ứng ăn mừng sống động
Khi nhận được “message3”, cả Jamal, Dorian và Andie sẽ đổi trang phục để thể hiện trạng thái ăn mừng. Tuy nhiên, để tăng thêm sự sinh động, chúng ta sẽ tạo hiệu ứng nhảy lên xuống cho Jamal và Dorian.
Cách thực hiện tương tự như khi lập trình chuyển động cho quả bóng:
- Di chuyển sprite lên xuống thủ công để xác định các tọa độ x và y phù hợp.
- Sau đó sử dụng khối “glide () secs to x: () y: ()” để tạo chuyển động mượt.

Lưu ý quan trọng: Hãy di chuyển sprite trước rồi mới thêm khối lệnh, các giá trị tọa độ được điền tự động, tránh phải nhập tay.
Ngoài ra, bạn cần điều chỉnh thời gian slide ngắn hơn (dưới 1 giây) để động tác nhảy trông nhanh và tự nhiên hơn. Cuối cùng, sử dụng khối “repeat (10)” trong mục điều khiển để lặp lại động tác này 10 lần, tạo hiệu ứng nhảy liên tục đầy hào hứng.
Bước 15: Đảm bảo trang phục hiển thị chính xác
Sau khi hoàn thành, hãy chạy thử trò chơi để kiểm tra. Bạn có thể nhận thấy rằng một số trang phục cũ vẫn còn hiển thị không đúng lúc, khiến chuyển động của các nhân vật chưa thật sự mượt mà.
Đây là lỗi phổ biến nhưng rất dễ khắc phục. Với mỗi sprite, hãy thêm khối sự kiện “when the green flag is clicked” và thiết lập trang phục mặc định phù hợp ngay từ đầu. Điều này giúp các nhân vật luôn bắt đầu ở trạng thái đúng, đảm bảo toàn bộ quá trình chuyển cảnh và hoạt ảnh diễn ra trơn tru hơn.

Bước này tuy nhỏ nhưng rất quan trọng để hoàn thiện trải nghiệm tổng thể của trò chơi.
Bước 16: Phát thông điệp cuối cùng (message3)
Ở bước này, bạn cần hoàn thiện việc xử lý “message3” – thông điệp dùng để kích hoạt hoạt ảnh ăn mừng. Với mỗi sprite (Jamal, Dorian, Andie), hãy thêm kịch bản “when I receive message3” và thiết lập trang phục tương ứng (ví dụ: tư thế giơ tay, nhảy lên…).

Đảm bảo rằng tất cả các nhân vật đều phản hồi đúng với thông điệp này để tạo nên hiệu ứng đồng bộ, giúp cảnh ăn mừng trở nên sống động và nhất quán.
Bước 17: Thêm biến điểm số
Để trò chơi hoàn chỉnh hơn, chúng ta sẽ thêm hệ thống tính điểm:
- Vào mục Variables (Biến).
- Nhấn Make a Variable (Tạo biến).
- Đặt tên là Score.
- Chọn áp dụng cho tất cả các sprite.

Biến này sẽ hiển thị điểm số trong suốt quá trình chơi.
Bước 18: Lập trình tính điểm
Tiếp theo, hãy lập trình để cộng điểm khi ghi bàn. Cụ thể, khi quả bóng chạm xuống vị trí cuối cùng (sau khi đi qua rổ), bạn sẽ:
- Sử dụng khối “if…then” để kiểm tra điều kiện.
- Kết hợp các toán tử như “=” và “and” để xác định đúng vị trí (ví dụ: x = -81 và y = -144).
- Khi điều kiện đúng, dùng khối “change Score by 2” để cộng thêm 2 điểm.
- Đặt đoạn mã này ngay sau khối “glide” cuối cùng của quả bóng để đảm bảo điểm chỉ được cộng khi pha ghi bàn hoàn tất.

Bước 19: Đặt lại điểm số khi bắt đầu
Khi chạy thử, bạn có thể thấy điểm số tiếp tục tăng dù đã chơi lại từ đầu. Đây là lỗi phổ biến và rất dễ sửa:
- Thêm khối “when green flag clicked”.
- Sử dụng lệnh “set Score to 0”.

Việc đặt lại biến ngay từ đầu là nguyên tắc quan trọng trong lập trình, giúp đảm bảo chương trình luôn bắt đầu ở trạng thái chính xác. Trong trường hợp này, bạn có thể đặt lệnh ở bất kỳ sprite nào, nhưng hợp lý nhất là đặt trong sprite quả bóng – nơi trực tiếp xử lý việc ghi điểm.
Mẹo nâng cao để làm trò chơi hấp dẫn hơn
Khi thực hiện cách làm game bóng rổ trên Scratch, bạn cũng nên áp dụng một số mẹo nâng cao sau:
1. Thêm âm thanh và nhạc nền
Âm thanh giúp trò chơi sống động hơn:
- Tiếng cổ vũ khi ghi điểm.
- Nhạc nền khi chơi.
- Dùng khối: “play sound until done”.
2. Tạo hoạt ảnh phức tạp hơn
- Thêm nhiều trang phục để mô phỏng chuyển động.
- Dùng vòng lặp để tạo hiệu ứng liên tục.
- Ví dụ: rê bóng, nhảy, ăn mừng chuyên nghiệp hơn.
3. Thêm tính tương tác
Tăng trải nghiệm người chơi bằng cách:
- Nút Start / Restart.
- Nút Pause.
- Menu đơn giản.
- Dùng khối: “when this sprite clicked”

Lời kết
Hy vọng qua bài viết hướng dẫn cách làm game bóng rổ trên Scratch này, bạn đã hiểu rõ hơn về cách xây dựng một trò chơi đơn giản bằng lập trình kéo thả. Thông qua việc thực hành từng bước, từ tạo nhân vật, lập trình chuyển động, phát sóng thông điệp cho đến tính điểm và thêm hiệu ứng hoạt hình, bạn đã có thể tự tay hoàn thiện một trò chơi bóng rổ sinh động và thú vị. Đây cũng là nền tảng quan trọng để bạn tiếp tục khám phá nhiều dự án lập trình sáng tạo khác trong tương lai.
Tại FPT Shop có đa dạng các mẫu laptop dành cho lập trình đồ họa, nếu bạn đang tìm kiếm những mẫu laptop phục vụ việc học lập trình, hãy đến FPT Shop để mua ngay nhé.
Xem thêm:
:quality(75)/estore-v2/img/fptshop-logo.png)
:quality(75)/scratch_40_4_288ff56578.jpg)
:quality(75)/cach_ve_hinh_luc_giac_trong_scratch_3429720117.png)
:quality(75)/cach_ve_hinh_tam_giac_trong_scratch_241ad860ff.png)
:quality(75)/cach_luu_bai_tren_scratch_ce104b047f.png)
:quality(75)/small/2_f4766a526e.jpg)
:quality(75)/cach_su_dung_scratch_6_77a8c43b01.png)