2012-07-14 52 views
0

我的精靈怎麼會跳回原來的地方? 我在iphone應用程序中使用box2d物理引擎。 我正在使用衝動,但無法正常工作。我的精靈身體怎麼會跳起來,回到原來的地方box2d

是否有人知道的邏輯或代碼比告訴我。

-(void)jump 
{ 
    b2Vec2 pos=ballbody->GetPosition(); 
// float vel=ballbody->GetAngularVelocity(); 
    double radian=atan2(pos.x+10, pos.y+10); 
    float angle=CC_RADIANS_TO_DEGREES(radian); 
    NSLog(@"Angle: %f",angle); 
    float impulseFactor = 1.0; 
    float force=ballbody->GetMass()*10; 
    //force/=6.0; 
    //b2Vec2 force=b2Vec2(0,50.0f); 
    // float apply=force*JUMP_IMPULSE*impulseFactor; 
    ballbody->ApplyLinearImpulse(b2Vec2(angle,force), ballbody->GetWorldCenter()); 

// [self applyLinearImpulse:b2Vec2(0,[self mass]*JUMP_IMPULSE*impulseFactor) point:[self worldCenter]]; 

} 

感謝

+0

告訴我們你已經擁有了什麼......以及什麼正確地「不工作」關於回到原來的位置 – 2012-07-14 07:06:06

+0

sprite身體跳躍,當我施加力量,但不能來跳躍位置。 – 2012-07-14 07:08:18

+0

你的意思是它不會回落? – 2012-07-14 07:08:43

回答

0
  1. 請重心是否已設置
  2. 如果沒有設置重力時,你已經把力的特定角度。
  3. 第三種情況是記下該位置...獲取當前位置...獲取角度....將線性速度設置爲該角度....繼續檢查位置,一旦達到該位置設置線性速度零.....(這聽起來令人困惑,但我並沒有完全理解你的問題,因爲盡我所知,我可以幫助這麼多)