2015-01-17 7 views
1

중력장이있는 '달'이 있는데 '달'은 'affectedByGravity = NO'로 설정되고 장면의 중력장의 영향을받지 않습니다.affectedByGravity = NO 인 두 노드가 중력장에 끌리는 이유는 무엇입니까?

그러나 나는 'affectedByGravity = NO'세트가있는 'Asteroid'를 가지고 있는데, 여전히 '달'에 끌리지 만 장면의 중력 필드에는 끌리지 않습니다.

이 버그입니까, 또는 'affectedByGravity'가 작동하는 방식을 잘못 이해 했습니까?

편집 : 애플 문서 부대는 물리학 바디 affectedByGravity이 물리학 몸이 물리 세계의 중력 및 물리학에 의해 가해지는 중력에 의해 영향을받는 여부를 나타냅니다 재산권 부울 값에 영향을주는 방법을 정의

을에서 발췌 현장의 필드는입니다.

선언 SWIFT var에 affectedByGravity : BOOL 토론 물리학 세계의 중력 속성은 중력이 장면에서 볼륨 기반의 몸에 적용 정의합니다. 기본값은 true입니다. 이 속성은 이미 중력에 영향을받지 않는 가장자리 기반 본문에서는 무시됩니다.

가져 오기 문 수입 SpriteKit 아이폰 OS 7.0 이상에서 사용 가능

가용성 .

답변

5

affectedByGravity 속성은 장면의 physicsWorld에 대한 것이며 중력 필드에 대한 속성이 아닙니다. 소행성이 달에 의해 영향을받지 않게하려면 physicsBody의 fieldBitMask을 0 (또는 중력장 비트 마스크의 값이 아닌 다른 값)으로 설정해야합니다.

Apple 설명서의 Adding Physics Fields To Your Scene 섹션을 읽으십시오.

+0

Apple 설명서에 따르면 물리 분야에서도 중력을 발휘합니다. 업데이트 된 질문보기, 원래 질문에 포함시켜야합니다. 어쨌든 링크 주셔서 감사합니다 - 그 설명을 직접 찾을 수 없었습니다. –

+1

당신은이 문서에 대해 알고 있습니다. SKFieldNode에 대해 affectedByGravity = NO 작업을 본 적이 없습니다. 이는 버그 또는 실수로 인한 것입니다. 버그 보고서는 Apple에 제출해야합니다. – ZeMoon