Phát triển game với Pygame Part 3: Va chạm và chuyển động
Long time no see, hôm nay mình xin phép được đào mộ lại một series về làm game với pygame. Đây là một series tưởng chừng đã bị mình vùi trong quên lãng nhưng lương tâm cắn rứt, tác giả quyết định hoàn thành nốt series này . Hãy cùng tiếp tục phần 3 của serie với chủ đề : Va chạm và chuyển động Chuyển động trong pygameỞ phần trước ta đã biết cách đổi sprite của Mario thông qua các state: Để 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 handle trong class Mario để xử lý các xự kiện. Như ở bài trước, tại hàm
Tại hàm
Trong phần này ta sẽ tiến hành implement hàm handle cho Mario.
Như trong phần code ở phía trên, tham số truyền vào là biến
Đó 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 nhả 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 code phía trên. Việc 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 trái phải mà ta chỉ định. Mô phỏng trọng lựcChú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 đó chính là trọng lực. Hãy mô phỏng trọng lượng trong game như sau. Đầu tiên là định nghĩa một số thông số:
Ở đây ta cần có một chút kiến thức về vật lý. Ta giả lập trọng lực như sau:
Khi đó 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 theo phương y:
Ta init vị trí của Mario như sau tại hàm
Như vậy vật sẽ càng ngày càng di chuyển xuống dưới và càng ngày càng nhanh theo đúng mô phỏng trọng lực. Va chạm với mặt đấtĐể 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ó sơ qua trong bài đầu tiên của series. Map được chia thành các lớp background layer, 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 đối tượng của game sẽ là trigger layer, phần này chứa các đối tượng nhưng lại không hiển thị, làm ta có cảm giác là đối tượng đang tương tác với lớp tile. Trong lớp trigger của file map, ta thêm các đối tượng hình chữ nhật với các thuộc tính như sau: Ta đặt giá trị cho thuộc tính là "tlbr" nghĩa là block theo tất cả các hướng trên (t) trái (l) dưới (b) phải (r) cho Tiếp đó 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 kiểu
Hình demo khi hiển thị lớp và khi không hiển thị lớp EndVậy là 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ác cách sử dụng map nâng cao cùng với Tiled Source Codehttps://github.com/vigov5/mario_game/ |
Bài Viết Liên Quan
Game Free Fire la gì
Garena Free Fire (hay còn gọi là cháy chùa, phổ biến tại Việt Nam với tên gọi là Hoả Miếu[3]) là một trò chơi điện tử nhiều người chơi thuộc thể loại ...
Sai lầm của Tấn Trường seagame
Thủ môn Bùi Tấn Trường đang đứng trước cơ hội bắt chính cho đội tuyển Việt Nam để xoá đi ám ảnh quá khứ.Trang chủ AFC đã đăng tải video nhắc lại ...
Khắc phục lỗi ping cao khi chơi game trên điện thoại
Dù muốn dù không thì chơi game trên smartphone Android, bạn không thể nào tránh được tình trạng giật, lag hay lướt web mà không mượt mà, phải chờ quá lâu. Hôm ...
Hệ thống nhân vật trong tác phẩm là gì
Phần 2: Chương 2: Nhân vật trong tác phẩm văn học - Lý luận văn học pptxBạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu ...
Phần mềm giảm lag khi chơi game trên Android
Ngoài những cấu hình phần cứng mạnh mẽ và linh hoạt, có thể bạn chưa biết về những cài đặt trên phần mềm điện thoại Android có thể giúp bạn chơi game ...
Giáo án trò chơi toán học cho trẻ mầm non
Theo nghiên cứu, trẻ từ 3 tuổiđã bắt đầu có sự nhạy cảm với toán học rồi. Cha mẹ có thể biến Toán thành sở thích hàng ngày của trẻ, thông qua các ...
Game vệ môi trường
[Ovi Store] Climate Mission - Chơi game bảo vệ môi trường cùng Nokia Nokia Climate Mission (CM) là game có tính giáo dục cao với nội dung chính xoay quanh vấn đề biến ...
Delay trong game là gì
Delay Là GìKể cả dù là người mới chơi âm thanh, chắc hẳn bạn đã ít nhất 1 lần nghe đâu đó từ Reverb là gì?, Delay là gì. Bài viết này, Lạc Việt audio ...
Gap nghĩa là gì trong game
Có nhiều thuật ngữ game mà mới chơi chúng ta thường thấy các game thủ có kinh nghiệm thường trao đổi với nhau. Bạn thì lại là người mới và đôi khi không ...
Trò chơi về khám phá môi trường xung quanh
Một số trò chơi trong môn MTXQBạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.86 MB, 63 trang )PHÒNG GD&ĐT ...
Game franchise là gì
Đây là trang thảo luận để thảo luận cải thiện bài Kỷ băng hà (loạt tác phẩm hư cấu). Đây không phải là một diễn đàn để thảo luận về đề ...
Thế giới nhân vật là gì
thế giới nhân vật trong truyện ngắn nguyễn ngọc tưBạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (836.41 KB, ...
Cách làm game pixel
Xu hướng thiết kế và tái tạo lại các game video phong cách retro ngày càng phát triển khiến Pixel Art ngày càng được ưa chuộng. Mặc dù đồ họa video game mới ...
Cách làm game 3D
Cách tạo một trò chơi đơn giản bằng Unity 3DUnity hỗ trợ cả đồ họa 2D và 3D, các chức năng được lập trình bằng ngôn ngữ C#, Java hay Boo (ngôn ngữ tương ...
Nhân vật 3D là gì
Đồ họa 3D hiện nay được ứng dụng trong khá nhiều lĩnh vực khác nhau, tuy nhiên không phải ai cũng biết đồ họa 3D là gì? Bạn cũng đang thắc mắc như vậy? ...
Nhân vật tư tưởng là gì
12và bóng tối, thiện và ác, cái cao thượng và cái thấp hèn Đặc điểm chính của loại nhân vật tư tưởng là tính chất hướng nội. Tácgiả thường chọn ...
Cd trong game là gì
Nếu là người chơi lâu năm trong một tựa game nào đó thì bạn chắc chắn phải biết những thuật ngữ mà người chơi sử dụng trong game. Những thuật ngữ này ...
Nhân vật trung tâm là gì
16Chương 2 CẢM HỨNG NGHỆ THUẬT SONG HÀNH - HÔ ỨNG VỚI KIỂUNHÂN VẬT TRUNG TÂM TRONG TIỂU THUYẾT CỦA CHU LAI.1. Khái niệm cảm hứng nghệ thuật và kiểu nhân ...
Nhân vật chính trong anime gọi là gì
Đây là một danh sách thuật ngữ đặc trưng trong anime và manga.Lưu ý: Những từ tiếng Nhật được sử dụng thường ngày (ví dụ như: Oniisan, kawaii, senpai) không ...
Nhân vật phụ là gì
Vật chính là gì?Vật chính là vật độc lập, có thể khai thác công dụng theo tính năng theo khoản 1 Điều 110 Bộ luật dân sự năm 2015.Vật phụ là gì?Vật phụ ...