2017-02-27 8 views
2

저는 로고와 4 개의 버튼이있는 게임 장면을 만들었습니다.이 모든 것들에는 이미지의 사각형 크기와 함께 SKPhysicsBody가 있습니다. 개체를 만드는SpriteKit Nodes with Gravity 틀린 곳에서 기울임

logo.physicsBody = SKPhysicsBody(rectangleOf: logo.size) 
logo.physicsBody?.affectedByGravity = false 

전체 코드 (모두 동일)

logo = SKSpriteNode(imageNamed: "logo") 
logo.anchorPoint = CGPoint.zero 
logo.name = "logo" 
logo.zPosition = 2 
logo.size = CGSize(width: 309, height: 272) 
logo.setScale(Generic.utilities.getScale()) 
self.addChild(logo) 
logo.position = CGPoint(x: self.frame.width/2 - logo.size.width/2, y: self.frame.height - logo.size.height - 40) 
logo.physicsBody = SKPhysicsBody(rectangleOf: logo.size) 
logo.physicsBody?.affectedByGravity = false 

를하고 그들이 할 수 있도록 버튼을 누른 동안 나는 참으로 모든 노드의 affectedByGravity을 변경 사람들의 모든 I에만 설정 화면의 떨어짐과 새로운 요소가 나타날 수 있습니다.

문제는 내가 앱을 실행할 때 요소가 원래 위치가 아닌 화면에서 모두 이동/기울어 진 것입니다. Tilted Nodes

내가 원했던 이유는 버튼 중 하나를 클릭 한 다음 화면에서 떨어질 때까지 위치를 유지하기 위해서였습니다.

내가 물리 물리 체를 설정하고 affectedByGravity를 설정할 때 왜 모든 것이 이렇게 기울어 질 수 있습니까?

+0

로 되돌아 갔다해야 다음 다른 위치에 완전히 것을보고 있음을 수행하여 더 많은 코드를 보여줍니다 ... 객체를 만드는 방법, 중력이 설정되는 대상, 객체 중 하나 이상에 대한 전체 물리 객체 코드 등이 있습니다. 3 개의 사각형으로 빠른 데모를 만들 수있었습니다 (장면 편집기에서 2 개 추가, 코드에서 하나 추가, 장면 편집기에서 물리 세트로 1 개 추가, 물리에서 다른 2 개는 런타임에 생성). 장면 편집기에서 장면로드 (약간의 이유는 없습니다)에 약간 회전합니다. 더 많은 정보를 제공하고 이것을 알아낼 수 있습니다. –

+0

@RonMyschuk 질문에 코드를 추가했습니다. – gmogames

+0

중력 설정을 표시 할 수 있습니까? –

답변

1

음, @RonMyschuk에 내가로드 내 장면에 추가 할 수있는 내가 (전 몰랐) 발견 Knight0fDragon @ 감사합니다 다음의 physicsBody 주위에 경계선을 추가

skView.showsPhysics = true 

당신의 노드, 당신은 그들이 상호 작용 볼 수 있습니다. 그리고 내 노드 중 하나의 physicsBody 그것이

이 문제를 돌봐으로

Borderline around physicsBody

, 모든 것을 당신이 필요 정상

+1

당신은 그것을 알아 냈고 배웠습니다. 뭔가 ... 좋은 직업 –