2012-08-01 89 views
0

我有一個關於box2d和cocos2d的問題。我的世界有零重力,我正在拼圖遊戲。我使用潛行的控制桿來控制精靈的移動,而且它的移動是完美的,但是當我釋放指向控制桿時,我的精靈身體因爲某種力量而無法停止。我想在操縱桿釋放時停止精靈的移動。在零重力下停止身體運動

-(void)update:(ccTime)dt :(b2Body *)ballBody :(CCSprite *)player 
{ 
    CGPoint scaledVelocity=ccpMult(joysticks.velocity, 2); 

    NSLog(@"Joystick Velocity X: %f",joysticks.velocity.x); 
    NSLog(@"Joystick Velocity Y: %f",joysticks.velocity.y); 

b2Vec2 force=b2Vec2(scaledVelocity.x/PTM_RATIO,scaledVelocity.y/PTM_RATIO); 
     ballBody->ApplyLinearImpulse(force, ballBody->GetWorldCenter());  

} 

這裏scaledVelocity值近似爲0〜1。當我鬆開操縱桿操縱桿的那段時間值是0.0

請幫助我,我是卡自去年5天。 請幫幫我。

在此先感謝

回答

5

你想讓b2Body立即停止或減慢(並最終停止)?

爲了使它立即停止:

ballBody->SetLinearVelocity(b2Vec2(0,0)); 

爲了使它慢下來:

ballBody->SetLinearDamping(10.0); // experiment with the damping factor value until you get the right deceleration 
+0

由於其真正的作品... – Leena 2012-08-03 07:41:17

+0

我已經試過了設定速度= 0.0沒」 t當對象堅持彼此工作http://stackoverflow.com/questions/39716111/cocos2dx-unable-to-set-velocity-0-0 – TomSawyer 2016-09-27 06:44:22