55 trò chơi trăn nhảy
Ở phần trước ta đã biết cách thay đổi sprite của Mario thông qua các trạng thái. 8 is the vertical status. đang nhảy ( 9) và theo chiều ngang 0. đang đứng yên ( 1) hay đang chạy ( 2) cùng với đó là các trạng thái đang quay mặt về phía nào (_______23). left or must. Tuy nhiên, ta không thể tương tác với Mario. Ta sẽ thực hiện công việc tương tác này thông qua các phím di chuyển. up (nhảy lên), left (di chuyển sang trái), must (di chuyển sang phải) Kèm theo là quay mặt nếu cần thiếtĐể xử lý các sự kiện phím ấn mà người dùng nhập vào, ta định nghĩa thêm hàm xử lý trong lớp Mario để xử lý các sự kiện. Như ở bài trước, tại hàm 4, vòng lặp chính của trò chơi, sau mỗi lần đánh dấu đồng hồ ta lấy ra các sự kiện diễn ra trong trò chơi và đưa ra từng đối tượng trong trò chơi để xử lý một cách phù hợp
Tại hàm 5 của vòng lặp của trò chơi, ta tiến hành gọi hàm 5 của mario để xử lý
Trong phần này, chúng ta sẽ tiến hành triển khai hàm xử lý cho Mario
Như trong phần mã ở phía trên, tham số truyền vào là biến 7, từ biến này ta có thể kiểm tra xem sự kiện đó được nhấn 1 phím xuống hay không ( 8), tại đây ta sẽ thực hiện các hành động. if nhấn phím sang phải sẽ thực hiện hành động chuyển sang phải. Dưới đây là chi tiết của hàn 9. Đối với hàm 50, chúng ta làm hoàn toàn tương tự. Hàm 51 chúng ta sẽ nói kỹ hơn khi thực hiện cuộc phỏng vấn nghiêm túc 5Đó là logic khi chúng ta nhấn một phím xuống. Việc cần làm tiếp theo đó là xử lý khi ta giải phóng phím ra, lúc này ta sẽ cập nhật lại các trạng thái của Mario về trạng thái đứng yên như ở đoạn mã phía trên Lệnh di chuyển sang bên phải, đơn giản là thiết lập vận tốc theo chiều x, thay đổi các trạng thái tương ứng với hướng di chuyển. sau khi thực hiện các bước này, chạy thử ta thấy mario đã di chuyển theo đúng các hướng bên trái mà ta chỉ định Mô phỏng lực lượngChúng ta cũng xem qua một chút logic về phần chuyển động của Mario. Thứ luôn kéo chúng ta về với mặt đất, khiến ta không thể bay lượn như chim mà chính là lực lượng quan trọng. Hãy mô phỏng lượng lớn trong trò chơi như sau. Đầu tiên là định nghĩa một số tham số 8 9Ở đây ta cần có chút kiến thức về vật lý. Giả lập quan trọng như sau
Khi đó công việc thực hiện nhảy lên chỉ đơn giản là di chuyển với vận tốc âm thanh theo phương y 0Ta init position of Mario as after at hàm 52 của main 2Như vậy các vật thể sẽ ngày càng chuyển xuống bên dưới và ngày càng nhanh hơn theo đúng mô phỏng trọng lực Để có thể thực hiện phần va chạm với platformer ta cần chỉnh sửa lại Map trong Tiled một chút. Như nó đã được sơ lược thông qua trong bài đầu tiên của sê-ri. Map được chia thành các lớp layer background, midground layer, foreground layer, các layer này sẽ là phần hiển thị. Nhưng phần sẽ tương tác với các đối tượng của trò chơi sẽ là lớp kích hoạt, phần này chứa các đối tượng nhưng lại không hiển thị, làm cho ta có cảm giác là các đối tượng đang tương tác với lớp gạch Trong lớp kích hoạt của tệp bản đồ, ta bổ sung các đối tượng hình chữ nhật với các thuộc tính như sau Ta set value for properties is "tlbr" có nghĩa là chặn theo tất cả các hướng trên (t) trái (l) dưới (b) phải (r) cho 53. Và tương tự cho các đối tượng 54 được sử dụng để ngăn người chơi rời khỏi màn hình. Tất cả các đối tượng này đều nằm trong lớp kích hoạt của bản đồTiếp theo đó ta cần phải xử lý va chạm giữa người chơi với các đối tượng thuộc loại 55 này. Khi đó toàn bộ mã của hàm 56 sẽ như sau 7
Hình demo khi hiển thị lớp 80and when does not display the 80 layerVì vậy ta đã có một nhân vật Mario có thể di chuyển trên một địa hình cơ bản rồi. Phần tiếp theo sẽ là cách sử dụng bản đồ nâng cao tương tự với Tiled |