1
매번 같은 높이로 볼 스프라이트 점프가 바닥에서 떨어지길 원합니다. 그러나 모든 점프에서 볼의 최대 높이 위치가 증가합니다.SpriteKit : 예기치 않은 물리 문제
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
SKNode *ground = [SKNode node];
ground.physicsBody = [SKPhysicsBody bodyWithEdgeFromPoint:CGPointZero toPoint:CGPointMake(CGRectGetMaxX(self.frame), 0)];
[self addChild:ground];
SKShapeNode *ball = [[SKShapeNode alloc] init];
CGMutablePathRef myPath = CGPathCreateMutable();
CGPathAddArc(myPath, NULL, 0, 0, 30, 0, M_PI*2, YES);
ball.path = myPath;
ball.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMaxY(self.frame)-100);
ball.physicsBody = [SKPhysicsBody bodyWithCircleOfRadius:ball.frame.size.width/2];
ball.physicsBody.linearDamping = 0.0;
ball.physicsBody.restitution = 1.0;
[self addChild:ball];
}
return self;
}
어떤 제안이?
노드가 물리와 어떤 관계가 있습니까? 즉, 기본 물리학 본문은 관련된 물리기에 영향을받지 않습니다. – LearnCocos2D
나는 똑같은 것을 생각하고 OP와 같은 원형 모양의 노드를 사용하기 시작했으며 스프라이트 노드를 사용하여 수정 한 물리 구조체와 함께 이상한 문제에 부딪쳤다. 어쩌면 여기 문제는 아니지만 모양 노드가 현재 상태의 어느 시점에서 문제를 일으킬 수 있다고 생각하는 두 가지 방법이 있습니다. 당신이 동의하지 않습니까? – Matt
그럴 가능성은 매우 낮습니다. 왜 시야가 시체와 어떤 차이가 있습니까? 그리고 시체는 왜 시야에 따라 다르겠습니까? self.frame과 같은 뷰 속성을 사용하여 물리 본문을 초기화 할 수 있습니다 (예 : radius는 ball.frame.size에 따라 다릅니다). – LearnCocos2D