2012-08-01 2 views
0

나는 box2d와 cocos2d에 관한 한 가지 문제점이 있습니다. 내 세계는 무중력이고 타일베이스 게임에서 일하고 있습니다. 스프라이트의 움직임과 완벽하게 움직이는 스 니크 조이스틱을 사용하고 있지만 조이스틱으로 포인트를 놓으면 스프라이트 바디가 힘을 잃을 수 없습니다. 조이스틱을 놓을 때 스프라이트의 움직임을 멈추고 싶습니다. 내가 조이스틱의 시간 값이 0.0무중력에서 신체의 움직임을 멈춤

내가 최근 5 시절부터 붙어 제발 도와주세요이다 조이스틱을 놓으면

다음
-(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 대략이다. 도와주세요. 사전

당신은이 질문에 대한 답변을 확인해야

답변

5

b2Body를 즉시 정지 시키거나 속도를 줄이시겠습니까?

하면 즉시 중지 만들려면 :

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

가 천천히하려면 : 나는 속도 = 0.0을 설정하려고하지만 didn를했습니다 ...

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

덕분에 정말로 작동의 – Leena

+0

를 ' 물체가 서로 붙어있을 때 작동하지 않습니다. http://stackoverflow.com/questions/39716111/cocos2dx-unable-to-set-velocity-0-0 – TomSawyer

관련 문제