我正在尝试通过我的 iPhone 应用程序中的 box2d 的 GetUserData() 旋转绑定到 cocos2d 精灵的 box2d 主体。具体来说,我正在尝试获取最新的触摸位置并朝那个方向旋转我的 box2d 身体。
关于box2d,我相当缺乏经验,所以任何建议都将不胜感激。下面是我想象中如何操纵玩家 box2d 身体的快速说明。我想澄清一下:
1)如果这是正确的做事方式。2)我如何计算玩家和最后一次触摸位置之间的角度,以便在那个方向上旋转我的玩家。
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
b2Body *pBody = self.playerBody;
if(pBody != NULL) {
for(UITouch *touch in touches) {
CGPoint location = [touch locationInView: [touch view]];
location = [[CCDirector sharedDirector] convertToGL: location];
CCSprite *myActor = (CCSprite*)pBody->GetUserData();
pBody->SetTransform(pBody->GetPosition(), angleToRotateByInRadians);
}
}
}