STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ
    Nội dung
    0
    0
    Chia sẻ

    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.

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo 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 - 2021