2012-08-05 4 views
1

나는 character who moved을 (를) 스크린으로 생성합니다.box2d cocos2d. SetLinearVelocity의 방향 계산

캐릭터는 box2d 세계에서 센서 운동기구입니다. Kinematic 때문에 충돌이있는 엔티티가 필요하지만 중력이 필요하지 않습니다. 나는 스프라이트를 사용해 보았지만, 충돌 경계 박스에는 많은 문제가있다. 왜냐하면 물리학이 스프라이트를 애니메이션화하기 때문이다.

전환 논리의 경우 SetLinearVelocity (b2Vec2)를 사용할 계획입니다.

body-> SetLinearVelocity (0, 0.5) move body top, body-> SetLinearVelocity (0.5, 0.5) 45도 각도로 몸체를 움직여도 정확합니다.

하지만 바보입니다.이 방법을 사용하여 본문을 다른 지점으로 이동하는 방법.

다른 말로하면 아날로그 CCMoveTo를 생성해야합니다. 문제 - SetLinearVelocity에 대해 true b2Vec2를 계산하는 방법. 당신이 화면으로 전환 몸에 더 좋은 방법을 알고있는 경우

또한, 당신의 생각

답변

3

O'k를 공유하시기 바랍니다. cocos2d-iphone.org 포럼에서 나는 대답을 얻습니다. 고맙습니다.

CGPoint direction = ccp(targetPos.x - startPos.x, targetPos.y - startPos.y); 
direction = ccpNormalize(direction); 
float speed = 0.25f; 
b2Vec2 vel = b2Vec2(speed*direction.x/kPointsToMeterRatio, speed*direction.y/kPointsToMeterRatio); 
body->SetLinearVelocity(vel); 
+0

안녕하세요, 저는 점프 스프라이트에 관해 도움이 필요합니다. 너 나 좀 도와 줄 수있어 ?? – Leena

관련 문제