I. Ôn tập bài cũ
1. Giới thiệu về số khung hình trên giây (FPS), khái niệm room_speed
- FPS (frame per second): là tốc độ khung hình trên giây, là đại lượng của số khung hình xuất hiện trong một giây. FPS càng cao, thì hình ảnh sẽ mượt hơn.
- Room Speed: Gamemaker cho biết thời gian từng bước, được xác định bởi tốc độ phòng, đặt ra bao nhiêu bước được thực hiện mỗi giây.
2. Giới thiệu về thành phần dòng thời gian (Timelines)
Thành phần dòng thời gian (Timelines) giúp tạo và kiểm soát các hành động ở các mốc thời gian đã được người dùng đặt trước.
Ví dụ về dòng thời gian (Timelines):
Lưu ý: Đơn vị thời gian là Step (khung hình), quy đổi sang đơn vị giây bằng cách: tổng số khung hình (step) = số giây x 30 (room_speed)
3. Cách sử dụng dòng thời gian để tự động sinh ra địch theo các mốc thời gian
- Bước 1: Tạo một dòng thời gian mới (Create new timeline)
- Bước 2: Thêm các mốc thời gian và hành động xảy ra ở mốc thời gian đó.
Chú ý: Chúng ta thêm các mốc thời gian tuỳ ý, kéo các hành động vào để nhân vật có thể hoạt động.
- Bước 3: Tạo một object tên o_spawner, thêm sự kiện Create và kéo hành động Set Timeline.
- Bước 4: Chọn dòng thời gian vừa tạo, đặt object o_spawner vào trong màn chơi.
4. Giới thiệu về hệ trục toạ độ Oxy
Toạ độ (x, y) của object:
- Gốc toạ độ O nằm ở góc bên trái trên cùng với toạ độ (0, 0)
- X là khoảng cách từ tâm (origin) của object đến cạnh trái của màn chơi.
- Y là khoảng cách từ tâm (origin) của object đến cạnh trên của màn chơi.
Hình minh hoạ:
5. Hướng dẫn thay đổi vị trí tạo địch
Chúng ta sẽ chính sửa giá trị x và y để thay đổi vị trí tạo ra địch
6. Giới thiệu về thành phần đường đi (Paths)
Thành phần đường đi (Paths) giúp các object di chuyển theo một đường đi mà người dùng đặt trước.
Ví dụ:
Các em nhập toạ độ tiếp theo và ấn Add để vẽ tiếp đường đi cho tàu địch
7. Cách làm địch di chuyển theo đường đi cho trước
Gồm các bước:
- Trong Object, chọn Add Event
- Chọn Create Event
- Kéo Action Set path (trong tab Paths) vào phần Actions.
- Chọn path đã vẽ, tốc độ, trạng thái khi hết vòng, độ tương đối cho tàu địch
8. Cách làm va chạm giữa các vật thể
Gồm 4 bước:
- Trong object enemy, chọn Add Event
- Chọn Event Collision, với Bullet
- Kéo Action 2 Destroy the instance vào phần Actions như sau:
- Kéo Create Effect ở mục Other vào phần Actions để tạo hiệu ứng lúc tàu địch bị trúng đạn
Các em làm tương tự như mục 7
II. Hướng dẫn làm dự án
1. Tên dự án: Space Defense
Link Nguyên liệu : https://bit.ly/MATERIALLAB3
Link Video hướng dẫn : https://bit.ly/VIDEOLAB3GB
2. Mô tả dự án
Sử dụng các kiến thức đã học và vừa học về Timelines, hệ toạ độ Oxy, Paths, Collision để hoàn thành trò chơi Space Defense. Sẽ có 1 con tàu không gian, các thiên thạch hay kẻ địch sẽ lao tới. Người chơi sẽ dùng phím left và right điều khiển tàu xoay xung quanh , bắn phá hủy thiên thạch.
3. Hướng dẫn chi tiết .
yêu cầu buổi này : Lập trình tàu vũ trụ xoay bằng cách bấm phím trái phải.
Lập trình bắn đạn theo hướng con tàu đang xoay.
Lập trình tự động tạo ra thiên thạch.
Thiên thạch tự động di chuyển về phía tàu vũ trụ.
Đạn va chạm với thiên thạch thì cả 2 sẽ bị phá hủy..
Bước 1: Tạo Room có Background với hiệu ứng parallax(hình ảnh Background di
chuyển ).
Chọn create Background, và tạo 2 Background giống trong file nguyên liệu được tải về.
Tiếp theo tạo room với kích thước 800x800 và thêm 2 Background vào room.
Lưu ý : để tạo hiệu ứng parallax cần chỉnh tốc độ di chuyển cho 2
background, background nào xa hơn thì tốc độ chậm hơn.
Bước 2: Tạo sprite cho nhân vật:
Cần tạo hình ảnh cho tàu vũ trụ, viên đạn và thiên thạch.
Chú ý các vùng được đánh dấu trong hình.
- Sau khi tạo sprite, các em tạo các object tương ứng :
Bước 3: Lập trình nhân vật o_ship khi bấm phím left thì xoay sang trái , bấm phím
right thì xoay sang phải. Press Space bắn đạn.
- Trong Event Keyboard left vào phần control và kéo action Set variable
Tương tự với event Keyboard right , nhưng chúng ta thay đổi value thành -5.
Trong Event Press Space vào main 1 , kéo action Create Moving và nhập như trong hình:
Lập trình viên đạn xoay theo hướng bắn :
vào Event Create kéo action Transform Sprite và nhập như trong hình:
Bước 4: Lập trình tự động tạo object thiên thạch o_meteor bằng Timeline.
Tọa độ x, y các em có thể chọn các vị trí khác tùy thích nhé. Các step tiếp theo làm tương tự. nhớ thay đổi tọa độ x,y.
Sau đó tạo objec o_pawner , Trong event Create kéo action Set Timeline
Để thiên thạch tự động di chuyển về phía tàu vũ trụ , ta làm như sau :
Trong object o_meteor, thêm Event Create , vào phần move, sau đó kéo action
và nhập như hình :
Để thiên thạch va chạm với đạn và bị phá hủy, ta làm như sau : Thêm Event va chạm với đạn :
sau đó vào main1 kéo action
Tiếp theo thêm Event Destroy sau đó vào phần draw kéo event:
và nhập như hình để tạo vụ nổ.
Để thiên thạch có thể hướng về phía con tàu các em vào o_meteor trong Event create thêm action Transform sprite
và nhập như hình bên dưới.
III. Câu hỏi thử thách
1. Vòng đời của một game hoàn chỉnh không có thành phần nào? Hãy chọn 1 đáp án đúng nhất
A. Menu bắt đầu game
B. Cảm xúc của người chơi sau khi thắng/ thua
C. Các màn chơi của game
D. Màn hình tổng kết sau khi thắng/ thua
2. Chi tiết nào không cần có trong Menu bắt đầu của một game? Hãy chọn 1 đáp án đúng nhất
A. Hình nền
B. Tên trò chơi
C. Lý lịch
D. Button
3. FPS là gì?
............................................................................................................................................
4. Room speed là gì?
............................................................................................................................................