`
mmdev
  • 浏览: 13302317 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Box2D的编译与运行 - 自己的代码

 
阅读更多

转发,请保持地址:http://blog.csdn.net/stalendp/article/details/8575379


这篇文章记录了《Box2D的编译与运行 - Rich Test》基础上的小试验(根据为:Box2D C++ tutorials - Making a test)。更多学习和试验,强烈推荐如下站点:http://www.iforce2d.net/b2dtut/;(阅读英文不方便的朋友,也不用担心,国内已经有自愿者对其进行过翻译了,效果还不错;链接如下:http://ohcoder.com/blog/categories/box2d-tutorials/

Box2D压缩目录的Testbed工程的目录结构如下:


编写测试代码可以放在Tests目录下。这个目录下,只有TestEntries.cpp是必须的(为了翻遍测试自己的代码,以及加快编译速度,可以把其他文件删除)。我工程的目录如下:


项目中我按照iforce2d上的教程,写了两个例子:BodiesTest.h 和 FixturesTest.h;注册例子有需要2步,如下:

1)在xxxTest.h的Create方法中生成该文件中的对象(简单工程模式),BodiesTest.h中的代码:

class BodiesTest: public Test {
public:
	BodiesTest() {
		//.…..
	}
	//.….
	static Test* Create() {
		return new BodiesTest;
	}
};

2) 在TestEntries.cpp中注册该测试类:

#include "../MyTests/BodiesTest.h"
#include "../MyTests/FixturesTest.h"

TestEntry g_testEntries[] = {
    {"Fixturesss test", FixturesTest::Create },
    {"Bodies test", BodiesTest::Create },
    { NULL, NULL }
};

这样就可以编译运行了,效果如下:



(另外要提一点的是,这个GUI在选择测试的时候,下拉框没有出现(在我的系统上是这样的),可以先选择下拉框,然后用键盘的上下键选择测试。)

Good luck!


相关文章:

Box2D的编译与运行 - Rich Test

Box2D的编译与运行 - Hello world

分享到:
评论

相关推荐

    box2d_py-2.3.5-cp37-cp37m-win_amd64.whl.zip

    **box2d_py-2.3.5-cp37-cp37m-win_amd64.whl** 是一个预编译的Python轮子(wheel)包,它是Python包的一种二进制分发格式,可以直接由pip安装,无需编译源代码,这大大简化了安装过程。该文件包含了Box2D_Py的所有...

    box2d_py-2.3.5-cp39-cp39-win_amd64.whl.zip

    "使用说明.txt"文件可能包含了安装、配置和使用Box2D Python库的具体步骤和示例代码。阅读此文件可以帮助开发者快速上手,了解如何创建世界、添加刚体、定义关节、处理碰撞事件等。 综上所述,这个压缩包提供了Box...

    qt-box2d-vs2008-test

    【标题】"qt-box2D-vs2008-test"是一个项目名称,表明这是一个使用Qt 4.7.1和Box2D V2.1.2库,在Visual Studio 2008环境下编译和运行的示例。Box2D是一个流行的游戏物理引擎,它允许开发者创建具有真实感的2D物理...

    PhysicsEditor-Cocos2d-x-Box2d-master.zip_box2D_cocos2d_cocos2d x

    在"PhysicsEditor-Cocos2d-x-Box2d-master"这个项目中,包含了整合Cocos2d-x与Box2D的示例代码和资源,可以帮助开发者快速理解和实践两者之间的交互。项目中可能包括了如下的文件结构: 1. 示例场景文件(.cpp和.h...

    box2d-py-2.3.5-cp37-cp37m-win-amd64.whl.zip

    与传统的`.tar.gz`或`.zip`源代码包不同,`.whl`文件可以直接由Python的`pip`包管理器安装,无需用户手动编译源代码,大大加快了安装速度。 "box2d_py-2.3.5-cp37-cp37m-win_amd64.whl" 是压缩包内的主要文件,它是...

    box2d-wasm:Box2D物理引擎已编译为WebAssembly。 支持TypeScript和ES模块

    Box2D编译为WebAssembly。 展示柜 展示自定义重力 使用释放 高性能主回路 WebGL渲染 用法 安装 npm i box2d-wasm 然后查看。 替代发行 有关其他功能: 流体模拟 粒子模拟 软体碰撞 您可以从分支进行安装,如下: ...

    cocos2d-x box2d 物理引擎

    这通常涉及将Box2D源代码文件添加到项目文件结构中,然后在编译设置中进行相应的链接。 4. **创建Box2D世界** 在cocos2d-x中,你需要创建一个Box2D的世界实例,这是所有物理模拟的基础。通过设置重力向量和其他...

    NDK编译Box2D_V2.2源码

    在Android平台上,为了实现高效且原生的性能,开发者通常会利用NDK(Native Development Kit)来编译Box2D源码,使其运行在C++层,而不是Java虚拟机上。下面将详细介绍如何使用NDK编译Box2D V2.2源码,并将其移植到...

    box2d_py-2.3.5-cp39-cp39-win_amd64.rar

    在这个压缩包`box2d_py-2.3.5-cp39-cp39-win_amd64.rar`中,包含的是`box2d_py`的特定版本,即2.3.5,为Python 3.9编译的Windows 64位(AMD64)版本的.whl文件。 `.whl`文件是Python的轮子(Wheel)格式,它是一种...

    Box2D_v2.1.2已经编译好的文件

    Box2D is a 2D physics engine for games. For help with Box2D, please visit http://www.box2d.org. There is a forum there where you may post your questions.

    Delphi编写的2D物理引擎box2D源代码..rar

    在使用Delphi编译的Box2D源代码时,开发者需要注意的是,由于Box2D原本是用C++编写的,因此移植到Delphi的过程中可能涉及到类型转换、内存管理等方面的差异,需要仔细处理。同时,为了在Delphi项目中成功集成Box2D,...

    cocos2d-x使用box2d来做碰撞检测

    3. 在C++源代码中引入必要的Box2D头文件,例如`#include "Box2D/Box2D.h"`。 接下来,我们需要创建Box2D世界来处理物理模拟: 1. 创建一个`b2World`对象,传入重力向量。例如:`b2Vec2 gravity(0.0f, -10.0f); b2...

    box2d 2.3.1

    这使得Box2D能在各种设备上流畅运行,尤其对于移动设备而言,性能优化至关重要。 此外,Box2D的API设计简洁明了,易于学习和使用。开发者可以通过C++接口直接与引擎交互,设置物理世界参数,创建和操作刚体、形状和...

    Box2D:给你的Qt程序加上物理引擎(包含windows+linux版)

    Box2D通常以C++源代码的形式提供,可以在其官方网站或其他开源代码托管平台上找到。你需要将其下载并编译为适合你的操作系统(Windows或Linux)的库。 在Windows上,你可以使用Visual Studio或其他C++编译器来编译...

    Box2D库(头文件+dll)

    头文件(Box2D.h)则包含了库中所有类和函数的声明,开发者在编写代码时需要包含这个头文件,以便编译器知道如何调用Box2D库的接口。 描述中提到,Box2D源码已经被编译为DLL形式,这对于开发者来说是非常方便的。...

    Box2d中文说明

    Box2D不应作为学习C++的入门项目,而是应建立在已有编程基础之上,确保你能够熟练进行代码的编译、链接和调试。 ##### 1.3 核心概念 Box2D的核心概念包括刚体、形状、约束、接触约束、关节、关节限制、关节马达...

    box2d中文教程

    - **C++编程经验**:Box2D基于C++开发,因此需要具备一定的C++编程基础,能够熟练进行编译、链接和调试等工作。 - **物理与数学知识**:Wikipedia是获取物理和数学知识的良好资源,其中内容经过精心整理,非常适合...

Global site tag (gtag.js) - Google Analytics