Spritekit PhysicsBody applyTorque

Estoy trabajando en una aplicación universal.

Quiero applyTorque a un Paddle

Pero el problema es que los tamaños de paletas son más grandes en un ipad que el iPhone uno.

¿Cómo puedo calcular el par de torsión para aplicar el mismo efecto al cuerpo físico de la paleta?

 SKSpriteNode *bar = [SKSpriteNode spriteNodeWithImageNamed:nameImage]; bar.name = @"bar"; bar.size = CGSizeMake(PaddleWidth, PaddleHeight); bar.physicsBody =[SKPhysicsBody bodyWithTexture:bar.texture size:bar.size]; bar.physicsBody.restitution = 0.2; bar.physicsBody.angularDamping = 0; bar.physicsBody.friction = 0.02; bar.physicsBody.mass=.2; [paddle addChild:bar]; SKSpriteNode *anchor = [SKSpriteNode spriteNodeWithColor:[SKColor clearColor] size:CGSizeMake(PaddleWidth, PaddleHeight)]; anchor.name = @"anchor"; anchor.size = CGSizeMake(PaddleHeight, PaddleHeight); anchor.position = CGPointMake(bar.position.x + bar.size.width/2, 0); [paddle addChild:anchor]; CGFloat anchorRadius = anchor.size.width/20; anchor.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:anchorRadius]; anchor.physicsBody.dynamic = NO; CGPoint positionInScene = [self convertPoint:anchor.position toNode:self.scene]; pin = [SKPhysicsJointPin jointWithBodyA:bar.physicsBody bodyB:anchor.physicsBody anchor:positionInScene]; pin.shouldEnableLimits = YES; pin.lowerAngleLimit = -0.5; pin.upperAngleLimit = 0.5; [self.scene.physicsWorld addJoint:pin]; 

– (vacío) flip {

 SKNode *bar=[self childNodeWithName:@"bar"]; CGFloat torque; torque=10; [bar.physicsBody applyTorque:torque]; 

}

Puede usar el tamaño de la pala como un factor en el valor del par:

 CGSize paddleSize = <Initialize with paddle size> CGFloat torque=paddleSize.width * factor; // factor will be the value you need to multiply in order to reach your desinetworking value 

Por lo tanto, si, por ejemplo, el ancho de la pala es de 100 use un factor constante de 0.05 En el iPad, el ancho de la pala diferente hará que el valor del par se calcule de acuerdo con el mismo valor de factor que el anterior.

Puede establecer una masa constante de physicsBody para que el par aplicado afecte la pala del mismo modo, independientemente del tamaño del nodo.

 //While instantiating the physicsBody for the "bar" node bar.physicsBody.mass = 0.2; //This will need to be adjusted according to your needs. 

De la documentation :

La masa del cuerpo afecta su impulso, así como la forma en que se aplican las fuerzas al object.