STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Tích Hợp Thư Viện Vật Lý Box2D vào Project C++

    Hướng dẫn cách tích hợp Engine Physics Box2D vào project C++ để mô phỏng vật lý cho game.
    10/11/2015
    01/10/2020
    2 phút đọc
    Tích Hợp Thư Viện Vật Lý Box2D vào Project C++

    Trong quá trình phát triển game, viết lại các thư viện mô phỏng vật lý sao cho giống đời thực thực sự là việc không dễ dàng. Box2D là 1 Physics Engine mạnh mẽ giải quyết được những vấn đề trên. Tuy nhiên, việc tích hợp Box2D vào project C++ cũng khá khó khăn.

    Tổng quan về Box2D

    Box2D là 1 Physics Engine được sử dụng để mô phỏng vật lý trong game. Đây là thư viện mã nguồn mở được viết bằng C++, nhưng hiện tại đã được chuyển qua nhiều ngôn ngữ khác nhau như java, javascript, C#, python.

    Trang chủ của Box2D: https://box2d.org/ 

    Truy cập https://github.com/erincatto/box2d để tải source code của Box2D.

    Hoặc download file Box2D.zip

    Tích hợp Box2D vào project

    Tạo project console C++ có tên là MyGame bằng cách mở Visual Studio 2013 vào File → New → Project. Chọn Empty Project, đặt tên là MyGame và nhấn OK để tạo Project.

    Trong thư mục chứa file .sln của project MyGame, tạo 1 thư mục Lib để chứa thư viện Box2D.

    Tiến hành download Box2D, giải nén file tải về sẽ có được folder Box2D-master. Copy thư mục Box2D vào vào thư mục Lib vừa mới tạo.

    Chuột phải vào Solution chọn Add → Exsiting Project...

    Tích hợp box2d vào project C++

    Chọn đến file Lib\Box2D\Build\vs2013\Box2D.vcxproj để thêm project Box2D vào Solution.

    Kết quả nếu add thành công.

    Tích hợp box2d vào project C++

    Chuột phải vào project Box2D và chọn Set as StartUp Project và tiến hành build project này để tạo ra file file thư viện liên kết tĩnh (file .lib).

    Tích hợp box2d vào project C++

    Như vậy là đã build được thư viện liên kết bây giờ chỉ vệc liên kết thư viện này với project MyGame.

    Tiếp theo tiến hành thêm đường dẫn tới các file header và file thư viện của Box2D cho project MyGame.

    Vào Properties của project MyGame để mở hộp thoại MyGame Property Pages. Vào mục C/C++, ở dòng Additional Include Directories thêm vào dòng như sau và nhấn OK.

    Tích hợp box2d vào project C++

    Vào Linker/General chọn dòng Additional Libraries Directories và thêm vào đường dẫn tới file .lib

    Tích hợp box2d vào project C++

    Trong mục Linker/Input chọn dòng Additional Dependencies và thêm vào dòng "Box2D.lib"

    Tích hợp box2d vào project C++

    Sử dụng Box2D

    Vậy là đã tích hợp xong thư viện Box2D vào project C++. Khi cần sử dụng thư viện này chỉ include như sau:

    #include <Box2D\Box2D.h>
    

    Ví dụ khởi tạo world trong Box2D.

    int main()
    {
    	b2Vec2 gravity(0.0f, -9.8f);
    	b2World* world = new b2World(gravity);
    
    	return 0;
    }
    0 Bình luận
    Lập Trình Game

    Lập Trình Game

    Kiến thức, kỹ thuật, kinh nghiệm lập trình game.

    Đề xuất

    Chipmunk - Phần 1: Giới Thiệu
    Giới thiệu thư viện xử lý vật lý Chipmunk và giới thiệu các khái niệm, ...
    EmguCV - OpenCV cho .NET - Giới Thiệu và Cách Tích Hợp vào .NET
    Giới thiệu về wrapper EmguCV của OpenCV và hướng dẫn cách tích hợp ...

    Khám phá

    Khởi Tạo Môi Trường Lập Trình Game Sử Dụng Thư Viện SDL (Simple DirectMedia Layer)
    Giới thiệu về thư viện Simple DirectMedia Layers và làm quen 1 số thao ...
    Validate Form Bằng Thư Viện Knockout-Validation trong Dự Án Durandaljs
    Bài viết hướng dẫn sử dụng thư viện Knockout-Validation để kiểm tra dữ ...
    Các Kiến Thức Cần Chuẩn Bị Cho Buổi Phỏng Vấn C++
    Các kiến thức cần chuẩn bị cho buổi phỏng vấn C++ và cho công việc C++.
    Thao Tác với Tài Liệu PDF Sử Dụng Thư Viện iTextSharp trong C#
    Giới thiệu thư viện iTextSharp, hướng dẫn cài đặt và thao tác với tài ...
    EmguCV - OpenCV cho .NET - Một Số Thao Tác Xử Lý Ảnh Cơ Bản - I
    Hướng dẫn các thao tác xử lý ảnh cơ bản với thư viện EmguCV bao gồm: ...
    Hướng Dẫn Sử Dụng RapidJSON để Xử Lý JSON trong C++
    Khái niệm về định dạng JSON và cách sử dụng RapidJSON để thao tác với ...
    Lọc Ảnh Bằng Phép Tương Quan Và Tích Chập
    Bài viết mô tả phép lọc ảnh sử dụng tương quan và tích chập trong lĩnh ...
    OpenCV – Cài Đặt và Ví Dụ Minh Họa Sử Dụng
    Giới thiệu tổng quan OpenCV, hướng dẫn cài đặt và viết chương trình minh ...
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020