关于Physics的问题。

我创建了一个Sprite 并给他添加了PhysicsBody。
代码如下:

//添加小球
ballOne=Sprite::create(“ball.png”);
ballOne->setPosition(VisibleRect::center());
PhysicsBody* ballBodyOne=PhysicsBody::createCircle(ballOne->getContentSize().width/2,PHYSICSBODY_MATERIAL_DEFAULT);
ballBodyOne->getShape(0)->setRestitution(1.0f);
ballBodyOne->getShape(0)->setFriction(0.0f);
//设置物体密度
ballBodyOne->getShape(0)->setDensity(1.0f);
//设置质量
ballBodyOne->getShape(0)->setMass(1.0);
//设置物体是否受重力系数影响
ballBodyOne->setGravityEnable(false);
ballBodyOne->setCategoryBitmask(0x0001);
ballBodyOne->setCollisionBitmask(0x0001);
ballBodyOne->setContactTestBitmask(0x0001);
//设置物体的冲力
Vect force=Vect(100.0f, 100.0f);
//把物体添加到精灵中
ballOne->setPhysicsBody(ballBodyOne);
//设置标志
ballOne->setTag(1);
this->addChild(ballOne);
ballBodyOne->applyImpulse(force);

给物体设置了一个冲量。然后我想再scheduleUpdate中更新小球的速度。我应该修改哪些属性?
尝试过这种方法都不行, 会改变小球的运动轨迹。 怎么做能指改变小球的速度呢?
路过的大大希望能帮下忙。 谢谢啦~ 非常感谢~~

你是想控制小球移动吗?想做成什么效果的

我就是想让小球随着时间的增加,速度越来越快。

明白了 你是想让这个小球往上飞 速度越来越快吧。我一会回去试试

嗯。四面墙。球碰到会反弹。但是球的速度越来越快~谢谢拉~

你试过直接改变body的速度吗?

我在 js 里是这么做的: 初始 body.vy = 100,然后 update 里 body.vy++ 这样是可以的。

ballOne->getPhysicsBody()->setVelocity(ballOne->getPhysicsBody()->getVelocity() + Vect(5.0,5.0));
这个方法我也试过。他需要的参数是const Vect &velocity 不知道是不是我的参数有问题。我尝试过各种参数都会改变小球的路线。

变成什么样了?

会变成一个曲线运动。~