• 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:Qt5.10.0msvc2015qml ,在文件夹中新建一个 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界面~

  • 相关阅读:
    k8s使用私有镜像仓库
    spark client 配置lzo
    jvm系列(四):jvm调优-命令篇
    mysqldump 备份还原数据库
    df 卡死及ls无法查看文件
    记录一次服务器断电,直接进入救援模式
    nginx开机自启脚本
    mongodb启动关闭脚本
    mongo数据备份恢复
    centos 快速配置网络
  • 原文地址:https://www.cnblogs.com/hbrw/p/9066520.html
Copyright © 2020-2023  润新知