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)의 요인에 의해 같은데?