I. Ôn tập bài cũ
1. Giới thiệu về thành phần âm thanh (Sounds) và các loại âm thanh trong trò chơi
Các loại âm thanh trong game:
Nhạc nền (Background Musics).
Hiệu ứng âm thanh (Sound Effects).
Âm thanh môi trường, ngoại cảnh (Ambience sounds).
Các nguồn tải âm thanh miễn phí:
BFXR: brxr.net
Freesound: freesound.org
Youtube: youtube.com
Opengameart: opengameart.org
2. Hướng dẫn lắp âm thanh vào trong Space Shooter
Tạo thêm 3 sounds
Vào object của người chơi, Create Event, kéo Play Sound vào Actions. Chọn file sound và có muốn nhạc lặp lại không.
Đây là nhạc nền của game
Ở phần press Space chúng ta cho Play Sound của âm thanh laser
3. Giới thiệu khái niệm về một trò chơi hoàn thiện và thành phần Font chữ.
Game được coi là hoàn chỉnh khi có điều kiện thắng/thua đầy đủ, có giao diện người dùng (bao gồm Menu, GUI) và đáp ứng được vòng đời bên dưới (chuyển giữa các màn chơi).
Vòng đời của một game hoàn chỉnh:
Thành phần Font chữ quyết định độ lớn, phong cách (in đậm, in nghiêng, gạch dưới,...), màu chữ,.. của chữ hiển thị trong game.
4. Cách làm giao diện khi bắt đầu trò chơi (Menu)
Tạo Sprites Play và Exit.
Tạo Objects Play và Exit.
Nhấn vào Add Event, sau đó chọn Mouse rồi chọn lần lượt các Events: Left Pressed, Mouse Enter, Mouse Leave. (Áp dụng cho cả 2 Objects)
Trong Object Play:
Nhấp chuột vào Event Left Pressed sau đó kéo thả Actions Different Room, nhấp vào Actions đó rồi nhập vào New Room.
Trong Object Exit:
Nhấp chuột vào Event Left Pressed sau đó kéo thả Actions End The Game.
Nhấp chuột vào Event Mouse Enter sau đó kéo thả Actions Transform Sprite , nhấp vào Actions đó rồi nhập các số liệu tùy ý. (Áp dụng cho cả 2 Object)
Nhấp chuột vào Event Mouse Leave sau đó kéo thả Actions Transform Sprite, nhấp vào Actions đó rồi nhập các số liệu tuỳ ý. (Áp dụng cho cả 2 Object)
Tạo Background cho Menu.
Tạo Rooms sau đó kéo thả các Object vào Rooms sao cho hợp lí, thế là hoàn thành Menu rồi đấy.
5. Cách làm giao diện khi kết thúc trò chơi
Cách làm giao diện khi kết thúc trò chơi cũng tương tự như cách làm giao diện Menu.
6. Hướng dẫn tạo bộ cài đặt cho trò chơi
Cách tạo bộ cài đặt cho game:
Nhấn vào File/Create Application hoặc nhấn Ctrl + Alt + C.
Chọn nơi lưu bộ cài đặt rồi nhấn Save.
Hướng dẫn cài đặt game và chạy thử trò chơi
Cách cài đặt Game và chạy thử trò chơi:
Mở file chứa bộ cài đặt Game.
Nhấp chuột phải vào biểu tượng của bộ cài đặt game và chọn Open.
Nhấp chuột vào I Agree trong cửa sổ mới.
Nhấp vào Next trong cửa sổ mới.
Nhấp vào Browse trong cửa sổ mới để chọn Tệp tin đích, chọn xong thì Nhấp chuột vào Ok.
Nhấp chuột vào Install.
Nhấp vào Next.
Nhấn Finish.
II. Kiến thức mở rộng
1. Destroy Event trong Gamemaker
Đây là sự kiện khi object bị phá huỷ, chúng ta có thể kéo các actions để các hành động này được thực hiện khi nhân vật bị tiêu diệt hoặc bay mất.
III. Hướng dẫn làm dự án
1. Tên dự án: Space Defense (Phần 2)
Link ảnh: https://bit.ly/MATERIALLAB3
Link video : https://bit.ly/VIDEOLAB4GB
2. Yêu cầu lab4: Ở buổi học trước các bạn đã lập trình được các chức năng sau :
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.
Trong buổi này các bạn sẽ phải lập trình hoàn thiện game thêm âm thanh và phần menu cho game.
3. Hướng dẫn chi tiết
Thêm âm thanh vào trò chơi:
Bước 1: Tạo các âm thanh :
Bước 2: Thêm sou_background vào game:
Trong object o_ship , thêm Event create vào phần main1 kéo action Play Sound
Để nhạc nền trò chơi lặp lại , các em chọn loop là true nhé.
Tương tự thêm âm thanh sou_laser khi bắn đạn, chú ý không nên để âm thanh lặp lại :
Thêm âm thanh vụ nổ sou_explose: các trường hợp cần thêm âm thanh vụ nổ: khi đạn va chạm thiên thạch , khi thiên thạch va chạm với phi thuyền.
Trong object o_meteor trong event va chạm với o_bullet. kéo action Play Sound
Làm tương tự với va chạm giữa thiên thạch và phi thuyền.
Tạo menu và kết thúc cho game :
Bước 1: Tạo room menu: click chuột phải room hiện tại, chọn duplicate.
Ta duplicate thêm 2 room , gồm r_menu, room hiện tại và r_end. xóa các objec trong r_menu và r_end.
Bước 2: Tạo title và các nút .
Tự vẻ title tên của game như sau :
Chú ý chọn màu chữ các bạn thích, kích cỡ chữ phù hợp nhé.
Tiếp theo tạo sprite các nút bấm play, exit , menu đã có sẵn trong thư mục nguyên liệu. Chú ý giảm kích thước nếu button quá lớn.
Sắp xếp các button vào room.
Các em chú ý thứ tự Room nhé :
Lập trình button play: Trong Event Mouse Press Left , kéo action Go To Room chọn room main.
Làm hiệu ứng nút khi di chuột vào sẽ thay đổi kích thước :
Thêm Event Mouse enter
Kéo action Transform sprite để làm thay đổi kích thước nút play:
Khi di chuột ra ngoài thì nút play trở lại kích thước ban đầu : Thêm Event Mouse Leave kéo action Transform sprite.
Lập trình tương tự các nút còn lại . Chú ý nut exit sử dụng action end game
Nút menu sử dụng action Restart game
IV. 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 viết câu trả lời
................................................................................................................................
................................................................................................................................
................................................................................................................................
2. Khi nào thì sử dụng loop để lặp lại âm thanh? Hãy viết câu trả lời
................................................................................................................................
................................................................................................................................
................................................................................................................................
3. Ý kiến nào đúng khi nói về toạ độ (x, y) của object:
X là khoảng cách từ tâm của object đến cạnh phải của màn chơi.
X là khoảng cách từ tâm của object đến cạnh trái của màn chơi.
Y là khoảng cách từ tâm của object đến cạnh phải của màn chơi.
Y là khoảng cách từ tâm của object đến cạnh dưới của màn chơi.
4. Cách đổi từ đơn vị giây sang Step?
..................................................................................................................................................................................................................................................................................
5. Phân biệt relative và absolute khi set Path cho vật thể?
..................................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................................
V. Kiểm tra trắc nghiệm
Câu 1: Lập trình là gì?
A. Là cách con người giao tiếp với máy tính
B. Là học cách viết mã lệnh
C. Là ra lệnh cho máy tính thực hiện một công việc nào đó
D. Tất cả đáp án trên đều đúng
Câu 2: Tên của phần mềm sẽ sử dụng trong khóa học
A. Kodu Game Lab
B. Game Maker Studio
C. Unity
D. Visual Studio Code
Câu 3: Những thành phần chính của trò chơi trong Game Maker Studio
A. Object, Sprite, Timeline, Background, Path, Script
B. Object, Timeline, Background, Room, Path, Script
C. Object, Sprite, Background, Room, Script, Sound
D. Sprite, Sound, Background, Room, Script, Path
Câu 4: Cần ít nhất bao nhiêu phòng chơi để có thể chạy game trong Game Maker Studio?
A. 1
B. 2
C. 3
D. 4
Câu 5: Các Objects cần phải có thành phần nào để phân biệt chúng với nhau
A. Sprite
B. Background
C. Sound
D. Room
Câu 6: Để đặt trước các sự kiện sẽ xảy ra tại các thời điểm xác định trong tương lai, ta có thể sử dụng thành phần nào trong Game Maker
A. Path
B. Timeline
C. Scripts
D. Sprite
Câu 7: Khi ta thêm Action “A” tương ứng Event “B” thì có nghĩa là gì
A. Vật thể sẽ thực hiện A mỗi khi B xảy ra
B. Vật thể sẽ thực hiện B mỗi khi A xảy ra
C. Không có ý nghĩa gì cả
D. Cả 3 đáp án trên đều sai
Câu 8: Để lập trình cho nhân vật bắn đạn ta nên dùng Action nào?
A. Move Fixed
B. Create Instance
C. Create Moving
D Jump to Position
Câu 9: Solid Object (Vật thể rắn) trong Game Maker là gì?
A. Là những vật thể không thể nhìn thấy
B. Là những vật thể không thể bị phá hủy
C. Là những vật thể không thể đi xuyên qua
D. Là những vật thể không thể di chuyển
Câu 10: Một trò chơi hoàn chỉnh cần ít nhất bao nhiêu màn chơi
A. 1
B. 2
C. 3
D. 4
Câu 11: Giữ FPS mặc định của Game Maker Studio thì 3 giây trò chơi sẽ chạy được bao nhiêu frame?
A. 30
B. 60
C. 90
D. 120
Câu 12: Các bước lập trình để vật thể di chuyển theo đường đi được vẽ, bắt đầu từ vị trí đặt vật thể trong màn chơi
A. Vẽ đường đi ở phần mục “Path” của Game Maker -> Chọn vật thể cần lập trình -> Chọn Event “Create” và Action “Set Path” -> Chọn đường đi đã vẽ sẵn -> Tích vào ô “Relative” -> Chọn OK
B. Vẽ đường đi ở phần mục “Path” của Game Maker -> Chọn vật thể cần lập trình -> Chọn Event “Create” và Action “Set Path” -> Chọn đường đi đã vẽ sẵn -> Tích vào ô “Absolute” -> Chọn OK
C. Vẽ đường đi ở phần mục “Timeline” của Game Maker -> Chọn vật thể cần lập trình -> Chọn Event “Create” và Action “Set Timeline” -> Chọn đường đi đã vẽ sẵn -> Tích vào ô “Relative” -> Chọn OK
D. Vẽ đường đi ở phần mục “Timeline” của Game Maker -> Chọn vật thể cần lập trình -> Chọn Event “Create” và Action “Set Timeline” -> Chọn đường đi đã vẽ sẵn -> Tích vào ô “Absolute” -> Chọn OK
Câu 13: Trong game Flappy Bird, để con chim bay lên mỗi khi người chơi nhấn chuột ta nên dùng sự kiện nào?
A. Mouse - Left button
B. Mouse - Left pressed
C. Mouse - Global mouse - Global left button
D. Mouse - Global mouse - Global left pressed
Câu 14: Một màn chơi có kích thước 1024 x 880 pixel. Hỏi điểm ở trung tâm màn chơi có tọa độ là bao nhiêu?
A. (0; 440)
B. (512; 440)
C. (512; 0)
D. (440; 512)
Câu 15: Game Maker Studio có thể export ra các loại file nào? Chọn đáp án sai
A. Windows
B. HTML5
C. IOS
D. XBox