Box2D C++教程 第四节:创建测试

http://www.firedragonpzy.com.cn/index.php/archives/2592


创建自己的测试

让我们往testbed中添加一个测试吧,这只是一个简单的例子,作为开始不会实现很多功能,但是作为一个例子我们会看到所有需要编辑和修改的地方。

首先我们需要一个Test类的子类来定义我们自己的测试。在Testbed/Tests文件夹下面,应该可以看到出现在testbed项目中名字相近的所有测试例子的.h头文件。在这个目录下添加你自己的.h头文件,取一个聪明的名字比如呃…FooTest。现在,我们将会创建一个只能在屏幕顶部显示文本的空例子。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef FOOTEST_H
#define FOOTEST_H
 
class FooTest : public Test
     {
         public :
         FooTest() { } //do nothing, no scene yet
 
         void Step(Settings* settings)
         {
             //run the default physics and rendering
             Test::Step(settings);
 
             //show some text in the main screen
             m_debugDraw.DrawString(5, m_textLine, "Now we have a foo test" );
             m_textLine += 15;
         }
 
         static Test* Create()
         {
             return new FooTest;
         }
     };
 
#endif

上面的类没有覆盖任何输入方法,也没有设置场景。仅覆盖了Step()方法,并使用父类的m_debugDraw变量来顺便在屏幕上输出一些信息。另一个父类的变量m_textLine用来设置文本输出的位置,如果你不想一直在顶部输出多行文本信息,你就应该这么做。Create()方法为testbed框架在必要的时候提供了自身测试类的实例。

下面添加至testbed,为同一目录下的TestEntries.cpp文件添加如下两行代码:

?
1
2
3
#include "FooTest.h"
 
         { "Foo test" , FooTest::Create},

这些已经存在的例子都会在这里一行行列出来。仔细看看这个文件你就会明白我是什么意思了(译者注:其实就是说所有新建的例子都会在这里添加到框架里)。

现在再次编译项目并且运行它。你应该可以在右侧的项目列表的最下方看到”Foo test”选项,当你选中它运行之后,大概看起来像是这个样子:

如果你想让你的测试例子在软件启动的时候作为默认的第一个,那么只要把FooTest::Create 这行代码放到列表的第一行就可以了。
摘自:http://www.ohcoder.com/post/2012-06-11/40028420673

Tags:  Box2dcocos2d-x(2.x)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值