I. Ôn tập bài cũ
Giới thiệu về sự kiện báo thức (Alarm event)
Sự kiện báo thức (Alarm event) xảy ra sau một khoảng thời gian nhất định do người dùng đặt trước.
Cách sử dụng sự kiện báo thức (Alarm event) để tự động tạo ra vật cản
Bước 1: Tạo 1 object o_spawner, thêm sự kiện Create Event và kéo hành động đặt báo thức (Set Alarm).
Bước 2: Chọn đồng hồ và đặt thời gian báo thức (number of steps).
Bước 3: Thêm sự kiện báo thức (Alarm) ứng với đồng hồ đã chọn.
Bước 4: Kéo hành động tạo vật thể di chuyển (Create Moving).
Bước 5: Kéo hành động đặt báo thức (Set Alarm) để hành động tạo được lặp đi lặp lại.
Áp dụng yếu tố ngẫu nhiên (Random) trong việc tạo vật cản
Yếu tố ngẫu nhiên (Random): Sử dụng hàm random_range(x, y) để chọn 1 số ngẫu nhiên trong đó x là giá trị nhỏ nhất và y là giá trị lớn nhất.
Ví dụ: Nếu muốn lấy một giá trị ngẫu nhiên trong khoảng từ 10 đến 100, ta sử dụng hàm random_range(10, 100).
Giới thiệu về Collision Mask và cách làm va chạm với vật cản
Collision Mask: Khu vực mà Gamemaker Studio sử dụng để tính toán khi hai vật thể có va chạm hay không và gây ra sự kiện va chạm.
Cách để tạo ra vật thể giúp tăng điểm số của người chơi
Gồm 3 bước:
Bước 1: Tạo vật thể giúp tăng điểm o_point
Bước 2: Trong o_spawner, kéo thêm hành động tạo vật thể (Create Instance) vào sự kiện báo thức Alarm.
Bước 3: Căn vị trí tạo vật thể o_point giữa 2 cột vật cản.
Ôn lại Variables và cách làm hệ thống tính điểm trong trò chơi
Giới thiệu về giao diện người dùng (User Interface) và cách hiển thị điểm đã đạt trong trò chơi
Giao diện đồ hoạ người dùng là một cách giao tiếp với máy tính hay các thiết bị điện tử bằng hình ảnh, chữ viết hoặc nút bấm.
Cách hiển thị điểm đã đạt được
Gồm 3 bước:
Trong object nhân vật, thêm sự kiện vẽ giao diện người dùng (Draw GUI).
Kéo hành động vẽ điểm Draw Score vào.
Chọn vị trí vẽ điểm và chọn lời chú thích (caption).
III. Hướng dẫn làm dự án
Tên dự án: Flappy Plane vs Alien (Tiếp theo)
Link ảnh: https://bit.ly/MATERIALLAB678
Link Video hướng dẫn: https://bit.ly/VIDEOLAB7GB
Mô tả dự án
Các chức năng ở buổi trước:
Tạo background có hiệu ứng parallax.
Lập trình máy bay bị kéo xuống do trọng lực.
Lập trình máy bay bắn đạn qua trái và qua phải.
Lập trình không gian bay trong room.
Yêu cầu buổi này :
Lập trình tự động tạo ra kẻ địch sử dụng alarm.
Kẻ địch tự động bắn ,và di chuyển.
Hiển thị điểm cho nhân vật.
Hướng dẫn chi tiết.
Lập trình tự động tạo kẻ địch , sử dụng alarm.
Bước 1 : tạo kẻ địch, các em tự tạo sprite và object nhé, hình ảnh có trong file nguyên liệu rồi. số lượng object tùy thích .
Bước 2 : Tạo một object o_spawn để tự động tạo kẻ địch.
Chú ý nếu không hiểu cách xác định x, y thì xem video hướng dẫn nhé.
Vậy là chúng ta đã có thể tự động tạo alien 1 , các em muốn nhiều kẻ địch hơn thì làm tương tự bên trên nhé.
Lập trình kẻ địch tự động bắn và di chuyển.
Bước 2: Trong objec o_alien_1, thêm Event Create , và kéo action Set Alarm0 , với step là 90.
Bước 3 : Trong objec o_rocket. Thêm Event Create , và kéo action
sau đó các em nhận chính xác các thông số như hình bên dưới để viên đạn có thể tự động di chuyển về phía o_plane khi được tạo ra nhé.
Bước 4: Để kẻ địch tự động di chuyển ta sử dụng paths, phần này các em tự làm nhé. Nếu làm được sẽ được cộng điểm.
Lập trình hiển thị điểm cho nhân vật .
Khi chúng ta bắn nổ 1 kẻ địch , tăng 1 điểm.
Bước 2 : Trong object o_bullet, thêm event va chạm với kẻ địch o_alien_1 . và thêm các action sau:
Trong create a explosion các e chọn nhập như sau nhé:
Bước 4 : Trong Objec o_plane thêm Event DrawGUI
-> như vậy là các em đã hoàn thành các yêu cầu của lab6, nếu có sáng tạo nào khác các phần đã hướng dẫn thì sẽ được cộng điểm nhé.
III. Câu hỏi thử thách
1. Cách thêm âm thanh vào Game Make từ nguồn cho trước? Hãy điền đáp án vào chỗ trống
........................................................................................................................................................................................................................................................................................................................................
2. Khi nào thì sử dụng loop để lặp lại âm thanh? Hãy điền đáp án vào chỗ trống
........................................................................................................................................................................................................................................................................................................................................
3. Collision Mask là gì? Tại sao phải dùng chức năng đó? Hãy điền đáp án vào chỗ trống
........................................................................................................................................................................................................................................................................................................................................
4. Khi nào chúng ta nên sử dụng Alarm? Hãy điền đáp án vào chỗ trống
........................................................................................................................................................................................................................................................................................................................................
5. Hàm nào được sử dụng để lấy giá trị ngẫu nhiên trong một khoảng? Hãy chọn 1 đáp án duy nhất
A. ramdom_range
B. random
C. range
D. range_random