I. Ôn tập bài cũ
Giới thiệu về trò chơi Flappy Bird
Flappy Bird là game điều khiển một chú chim bay qua các ống nước bằng cách ấn vào màn hình (điện thoại) thì chú chim sẽ bay lên cao hơn, nếu không nhấn thì chú chim sẽ tự động rớt xuống.
Hướng dẫn cách tạo các thành phần cần thiết trong trò chơi Flappy Bird
Tạo 3 object là: o_plane, o_obstacle_top, o_obstacle_bot là máy bay và 2 cái cột trên, dưới.
Tạo 2 background:
Tạo 1 room và thêm 2 background đó vào room và tùy chỉnh các thông số để background có thể di chuyển ngược với máy bay. Chúng ta để room có kích thước 800x400.
Giới thiệu về hoạt họa (Animation) và cách làm nhân vật chuyển động
Animation được biết đến là nghệ thuật diễn hoạt hình ảnh có trong các chương trình quảng cáo, phim hoạt hình, các trò chơi điện tử… - đó là nghệ thuật làm cho hình ảnh được xuất hiện và chuyển động một cách sống động trên màn hình, dựa theo một câu chuyện, nội dung cụ thể nào đó.
Animation được các Animator tạo ra bằng cách thay đổi nội dung của các khung ảnh liên tiếp nhau, nhân vật có thể di chuyển qua các vùng bối cảnh khác nhau, được thay đổi kích thước, màu sắc…
Cách để làm nhân vật chuyển động:
Tạo Sprites cho nhân vật bằng 2 image khác nhau.
Nhấp vào Show Preview để xem chuyển động của nhân vật.
Nếu cảm thấy nhân vật chuyển động chưa được tự nhiên thì bạn có thể vào Animation rồi chọn Stretch sau đó nhập số Frames.
Giới thiệu về biến số (Variables), hằng số (Constants) và khái niệm image_speed
Biến số là một số có giá trị bất kỳ, không bắt buộc phải duy nhất có một giá trị, biến số là số có thể thay đổi giá trị trong một tình huống có thể thay đổi.
Hằng số là một số không thể thay đổi trong mọi tình huống.Ví dụ: Số pi, tốc độ ánh sáng, ...
Image_Speed là tốc độ của hình động. Chỉnh sửa Speed để thay đổi tốc độ quay của cánh quạt (thực ra là tốc độ load các ảnh liên tục).
Create Event → Set variable cho biến image_speed để điều chỉnh tốc độ quay của cánh quạt máy bay.
Giới thiệu về lực hấp dẫn (Gravity) và cách làm nhân vật bay như trong Flappy Bird
Lực hấp dẫn (Gravity) là một hiện tượng mà tất cả vật có khối lượng hoặc năng lượng - bao gồm các hành tinh, ngôi sao, thiên hà và thậm chí cả ánh sáng đều bị hút về nhau.
Ví dụ: Lúc ném các vật lên trời đều sẽ rơi xuống, hay chúng ta có thể đứng trên đất đều nhờ lực hấp dẫn, ...
Cách làm nhân vật bay như trong Flappy Bird:
Làm cho máy bay luôn chịu tác dụng của gravity:
Chúng ta có thể chỉnh sửa direction và chỉ số trọng lực (gravity).
Nhấn chuột trái để bay lên:
Sử dụng kiến thức biến vừa học
Nhấn chuột trái, direction = 90 và speed = 10
Giới thiệu về sự kiện bước (Step event), câu điều kiện (If statement)
Sự kiện bước (Step event) xảy ra trong mỗi khung hình của trò chơi, dùng để liên tục kiểm tra hoặc liên tục thực hiện hành động nào đó.
Câu điều kiện (If statement) dùng để kiểm tra một điều kiện, nếu điều kiện đó là đúng thì một đoạn mã xác định sẽ được thực thi.
Cách để làm nhân vật không bay ra khỏi màn chơi.
Trong cửa sổ Objects Máy bay, chọn Add EventStepStep.
Trong hộp Actions, kéo thả Test Variable, nhấp chuột vào Actions Test Variable rồi điền như trong hình dưới. Có nghĩa là nếu object có toạ độ y nhỏ hơn hoặc bằng 0 sẽ ra sao:
Kéo thả Start BlockSet VariableEnd Block. Thì giá trị của y vẫn sẽ bằng 0 mà sẽ không nhỏ hơn (nếu nhỏ hơn sẽ bị ra ngoài màn chơi).
Nhấp vào Set variable to 0 trong hộp Actions rồi điền như hình dưới.
II. Hướng dẫn làm dự án
Tên dự án: Flappy Plane VS Alien
Link Nguyên liệu game : https://bit.ly/MATERIALLAB678
Link Video hướng dẫn : https://bit.ly/VIDEOLAB6GB
Mô tả dự án và yêu cầu
Dựa trên game flappy plane các em được học chúng ta sẽ nâng cấp game thêm các chức năng bắn đạn , tạo kẻ địch, hiểu thị điểm số..
các em xem cụ thể trong video hướng dẫn ở bên trên nhé.
Trong buổi lab 6, các em sẽ phải hoàn thành các chức năng sau :
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 cho máy bay bay quá cao , thấp trong room.
Hướng dẫn chi tiết
Tạo Background có hiệu ứng parallax:
Tạo room với kích thước 1024X682. Và thêm 2 Bg vừa tạo .
Chú ý các phần đánh dấu trong hình.
Lập trình máy bay di chuyển:
Tạo objec o_plane và lập trình trọng lực :
Khi bấm phím up thì máy bay sẽ bay lên :
Các em chú ý, vertical speed là tốc độ của nhân vật theo chiều dọc của màn hình nhé , nếu nhân vật bay lên thì vert.speed là số âm nhé. Nếu không hiểu thì xem video hướng dẫn bên trên.
Tương tự với phím right :
Sử dụng Event Release để làm cho máy bay dừng lại.
Thêm Event Release left, kéo action Set horizontal speed .
Lập trình máy bay bắn đạn
Nếu không hiểu thì em có thể xem video hướng dẫn bên trên để được giải thích cụ thể nhé.
Thêm Event Press Space , trong event này sẽ kiểm tra xem nhân vật đang nhìn về hướng nào , và tạo đạn hướng đó.
Dưới đây là trường hợp 1 , kiểm tra nhân vật đang quay sang phải , tức là biến global.left có giá trị là false.
Tiếp theo kéo action như hình bên dưới :
Trong action Create Moving :
Trường hợp 2 biến máy quay quay sang trái : Biến global.left có giá trị là true
-> Cuối cùng các em có Event Press Space gồm các action như sau :
Lập trình viên đạn xoay theo hướng bắn :
Trong objec o_bullet, thêm Event Create, và kéo các action sau:
Action Test Variable tương tự như trong o_plane. Các em xem lại và lập trình nhé.
Lập trình giới hạn không gian bay :
không cho phép máy bay bay cao hơn màn chơi, và khi bay quá thấp sẽ bị nổ.
Trong object o_plane , Thêm Event Step và kéo các action sau :
Vậy là các em đã hoàn thành yêu cầu của lab 6 nhé.
III. Câu hỏi thử thách
1. Điểm khác biệt cơ bản giữa hằng số và biến số? Hãy điền câu trả lời vào chỗ trống
......................................................................................................
2. Đâu không phải là cơ chế hoạt động của con chim trong trò chơi Flappy Bird? Hãy chọn 1 đáp án đúng nhất
A. Luôn vỗ cánh.
B. Khi nhấn màn hình thì bay lên.
C. Đi bằng hai chân.
D. Không nhấn sẽ rơi xuống.
3. Tính chất của Gravity là gì? Hãy điền câu trả lời vào chỗ trống
.................................................................................................................
4. Đâu là thành phần cần thiết trong game Flappy Bird? Hãy chọn 1 đáp án đúng nhất
A. Ô tô
B. Cọc trên
C. Máy tính
D. Phi hành gia
5. Các bước để tạo Animation? Hãy điền câu trả lời vào chỗ trống
.............................................................................................................