2013-12-12 8 views
3

I 다음 SpriteKit 코드가 있습니다SpriteKit 중력 혼란

scene.physicsWorld.gravity = CGVectorMake(0, -10); 
... 
- (void)update:(CFTimeInterval)currentTime 
{ 
    [node.physicsBody applyForce:CGVectorMake(0, 10 * node.physicsBody.mass)]; 
} 

가 왜 applyForce이 중력 균형을하지 않습니다? 노드는 매우 빠르게 아래쪽으로 떨어집니다.

전체 예 :

@interface HelloScene() 

@property SKLabelNode *node; 

@end 

@implementation HelloScene 

- (void)didMoveToView:(SKView *)view 
{ 
    self.backgroundColor = [SKColor blueColor]; 
    self.scaleMode = SKSceneScaleModeAspectFit; 
    self.physicsWorld.gravity = CGVectorMake(0, -10); 
    [self addChild:[self newHelloNode]]; 
} 

- (SKNode *)newHelloNode 
{ 
    self.node = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"]; 
    self.node.text = @"Hello, World!"; 
    self.node.fontSize = 42; 
    self.node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)); 
    self.node.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:10.0]; 
    self.node.physicsBody.mass = 1.0; 
    self.node.physicsBody.angularDamping = 0.0; 
    self.node.physicsBody.linearDamping = 0.0; 
    self.node.physicsBody.friction = 0.0; 
    return self.node; 
} 

- (void)update:(NSTimeInterval)currentTime 
{ 
    [self.node.physicsBody applyForce:CGVectorMake(0, 10 * self.node.physicsBody.mass)]; 
} 

@end 

편집 :

self.physicsWorld.gravity = CGVectorMake(0, -10.0/150.0); 

왜이 경우 다음과 같습니다

그것이 작동하는 것 같다 (150)의 요인에 의해 같은데?

답변