Qt 5.10 集成 Box2D 物理引擎

Posted 鬼书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 5.10 集成 Box2D 物理引擎相关的知识,希望对你有一定的参考价值。

集成环境: Windows 7  x64  Qt 5.10.0  x32

Box2D是一个强大的开源物理游戏引擎,用来模拟2D刚体物体运动和碰撞,由Erin Catto早在2007年用C++语言开发。

Box2D集成了大量的物理力学和运动学的计算,并将物理模拟过程封装到类对象中,将对物体的操作,以简单友好的接口提供给开发者。我们只需要调用引擎中相应的对象或函数,就可以模拟现实生活中的加速、减速、抛物线运动、万有引力、碰撞反弹等等各种真实的物理运动。

简单的说,Box2D就是一个物理刚体仿真库。

QML 提供了 Box2D 的插件,方便 Qter 使用,具体的集成流程如下:

1. 下载 Box2D 源码

  友情链接: https://github.com/qml-box2d/qml-box2d

2. 解压 qml-box2d-master 压缩包,使用 Qt 打开 根目录下 box2d.pro,选择你要的平台和版本(Windows、android)(Denug、Release),进行编译:

  编译后会在程序同级目录下产生一个 build-box2d 文件夹(在程序的 pro 文件中定义的输出目录),在文件夹中有一个 Debug 和 Release 文件夹,使用 Release 编译则打开 Release 文件夹,Debug 编译就打开Debug 文件夹,里面会有三个文件(前提是编译成功),我们只需要  Box2D.dll 文件。

3. 拷贝库到 Qt 目录下:

  打开 Qt 的安装目录下的 qml 目录(查看自己的) D:\Qt\5.10.0\msvc2015\qml ,在文件夹中新建一个 Box2D 目录,可以自定义,但是要保持一致,将 Box2D.dll 拷贝到该文件夹下,同时,在 qml-box2d-master 的加压文件夹中,存在一个 qmldir 文件,也要拷贝到新建的 Box2D 文件中,至此,集成工作完成。

4. 使用方法:

  在 qml 文件中,任意的 qml 文件, 使用 import Box2D 2.0 (注意版本号要和自己下载的对应),就可以开始使用该插件了,在 qml-box2d-master 解压的文件夹中的 example 文件夹中有很多例子,可以供 Qter

 参考使用,另外,也可以去官方网站查看专业文档 http://box2d.org/documentation/

 

结束语:

  Qt 在编辑 UI 方面有得天独厚的优势,配合上真实的物理引擎,可以轻松写出很棒的UI界面~

 

以上是关于Qt 5.10 集成 Box2D 物理引擎的主要内容,如果未能解决你的问题,请参考以下文章

如何在box2d物理引擎中实现“时间压缩”?

p2.js物理引擎学习

Cocos2d-x 3.1.1 学习日志13--物理引擎登峰造极之路

实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D

Box2d刚体轨迹预测

实例介绍Cocos2d-x中Box2D物理引擎:碰撞检測