Cocos2d iphone 球随机减速

Cocos2d iphone 球随机减速,cocos2d-iphone,box2d,geometry,physics-engine,Cocos2d Iphone,Box2d,Geometry,Physics Engine,目前,我有一个程序,有一个球,来回弹跳。为了了解它的反弹速度,我制作了以下内容: b2Vec2 velocity = blueCircleBody->GetLinearVelocity(); float constantSpeed = velocity.Length(); NSLog(@"%.f", constantSpeed); 这是在tick:函数中。每一秒,我都想看看球移动的有多快。正如我在输出窗口中注意到的,几分钟后球似乎慢了下来 2012-12-16 11:29:10.458

目前,我有一个程序,有一个球,来回弹跳。为了了解它的反弹速度,我制作了以下内容:

b2Vec2 velocity = blueCircleBody->GetLinearVelocity();
float constantSpeed = velocity.Length();

NSLog(@"%.f", constantSpeed);
这是在tick:函数中。每一秒,我都想看看球移动的有多快。正如我在输出窗口中注意到的,几分钟后球似乎慢了下来

2012-12-16 11:29:10.458 Bubble Fill V1[31623:c07] 30
2012-12-16 11:29:11.474 Bubble Fill V1[31623:c07] 30
2012-12-16 11:29:12.475 Bubble Fill V1[31623:c07] 30
2012-12-16 11:29:13.492 Bubble Fill V1[31623:c07] 24
2012-12-16 11:29:14.525 Bubble Fill V1[31623:c07] 24
有没有一个原因可以解释为什么球随机地从30到24

另外,我还有一个问题。如果我用相同的数据重新启动程序,球会以不同的速度前进,原因不明。这意味着我使用的冲动/力量并不决定它的速度

以下是关于这个球的更多信息:

    blueCircle = [CCSprite spriteWithFile:@"blueCircle.png"];
blueCircle.position = ccp(winSize.width/4, winSize.height/4);
blueCircle.tag = 2;
[self addChild:blueCircle];




blueCircleBodyDef.type = b2_dynamicBody;
//Find a way to make the BoundingBox/GroundBox to not be affected by the Force of the Walls
blueCircleBodyDef.position.Set(winSize.width/4/PTM_RATIO, winSize.height/4/PTM_RATIO);
//blueCircleBodyDef.position.Set(blueCircle.position.x/PTM_RATIO, blueCircle.position.y/PTM_RATIO);
blueCircleBodyDef.userData = blueCircle;
blueCircleBody = world->CreateBody(&blueCircleBodyDef);

float blueCircleRadius = blueCircle.contentSize.width/2 * blueCircle.scale;
blueCircleShape.m_radius = blueCircleRadius/PTM_RATIO;


blueCircleFixtureDef.shape = &blueCircleShape;
blueCircleFixtureDef.density = 1.0f;
blueCircleFixtureDef.friction = 0.0f;
blueCircleFixtureDef.restitution = 1.0f;
blueCircleBody->CreateFixture(&blueCircleFixtureDef);





force.Set(0, 140);
//blueCircleBody ->ApplyLinearImpulse(force, blueCircleBodyDef.position);
//blueCircleBody->SetLinearVelocity(force);
blueCircleBody->SetGravityScale(0);
blueCircleBody->SetLinearVelocity(force);

xcode(这是一个ide)没有什么可做的,太本地化了,关于球“从哪里来”的信息太少了。球只是像在突破游戏中那样从墙上弹起。你使用的是什么box2d版本?