2016-08-20 4 views
1

나는 빠른 읽기에 앵커 포인트의 기본을 이해하는 노력이 : 내가 siwft에서, 스프라이트 키트와 함께, 현장의 앵커 포인트는 화면의 아래 왼쪽 모서리에 있음을 이해 https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html앵커는 신속한 버그를 지적합니까?

.

myNode.position = CGPoint(x: 0, y: 0) 
self.addChild(myNode) 

그것은 내보기에 표시되지 않습니다

그래서 나는이 같은 노드를 배치합니다. 그래서 나는 다른 것을 시도했다 :

myNode.position = CGPoint(x: middleOfmyView, y: 0) 
    self.addChild(myNode) 

그리고 지금 나는 나의 정방형의 꼭대기의 절반을 본다. 따라서 화면 하단에서 20 픽셀 위로 보입니다.

myNode.position = CGPoint(x: middleOfmyView, y: 0+myNode.frame.size.height/2) 
     self.addChild(myNode) 

을 그리고 지금은 화면의 중앙에, 내 전체 사각형을 볼 수

그래서 덧붙였다.

은 그럼 X에 넣어 : 0 그 같은 Y 포인트 보자

myNode.position = CGPoint(x: 0, y: 0+myNode.frame.size.height/2) 
self.addChild(myNode) 

을 그리고 지금은 오른쪽 아래에 "1 노드"이 기록 된 경우에도 나타나는 내 노드를 볼 수 없습니다 내 화면 모퉁이!

그래서 iPhone 화면의 0,0 지점이 화면의 왼쪽 아래에 있는지 궁금합니다. 그러면 Sprite 노드의 앵커 포인트는 어디에 있습니까? 내 사각형을 화면의 왼쪽 아래 구석에 어떻게 넣을 수 있습니까?

이 0 점에 내가 할 것을 만드는 이유는 당신의 도움 :)

내가 엑스 코드 7.3.1을 사용하고 있는데 난 아직도 이해가 안 주셔서 감사에게 ... 상황이 어떻게 작동하는지 사전에 많은 이해하는 것이 전부입니다 내 물건을 보지 마라. 확실히 버그 야?

+0

씬이보기에서 올바른 위치에 있는지 확인하십시오. 메인 뷰의 프레임과 비교할 때 장면의 '프레임'은 무엇입니까? – jrturton

+0

프레임 장면을 인쇄 할 때; 나는 그것을 가지고 : ((-0.0, -0.0, 1024.0, 768.0)) 그래서 기본보기와 같은, 안돼? 어쨌든 나는 현장에 내 노드를 놓기 전에 장면의 틀을 바꾸지 않았다. – Julien

+0

보기 크기가 반드시 장면 크기와 같지는 않습니다 (이를 위해보기 컨트롤러에서 scene.size = view.bounds.size를 설정할 수 있습니다). 따라서보기의 크기가 iPhone 6 인 경우 기본적으로 장면은 1024x768입니다. 노드를 0,0에 배치하면 노드 크기에 따라 보이지 않을 가능성이 있습니다. – Whirlwind

답변

1

SKSpritenodes의 기본값은 (0.5, 0.5)의 anchorPoint이며, 노드의 가운데는 위치가 설정된 위치로 이동합니다. anchorPoint를 변경하려면 다음을 수행하십시오. node.anchorPoint = CGPoint(x: 0, y: 0)이 예에서는 노드의 anchorPoint를 왼쪽 하단으로 설정합니다. 변경 anchorPoint도 회전의 원점을 변경 있음을 명심하고, anchorPoint 값은 0과 1 사이에있는 왼쪽 아래 모서리에있는 사각형을 넣으려면 : 당신은 아무것도 도움이 필요한 경우

myNode.anchorPoint = CGPoint(x: 0, y: 0) 
myNode.position = CGPoint(x: frame.minX, y: frame.minY) 

(또는 내가 원하는 것을 커버하지 않았다면) 나에게 물어 보아도 좋습니다. 최선을 다해 도와 드리겠습니다.

+0

안녕하세요. Nik, 답변 해 주셔서 감사합니다. 네가 내게 말한 것을 할 때 내 광장을 볼 수는 없지만 그것이 내 시각에 나타나야한다. 나는 그것을 볼 수 없다! 설명 있니? 그것을 시도해보고, 앱을 실행하고 당신이 가진 것을 말해 줄 수 있습니까? "1 노드"가 있고 아무것도 화면에 나타나지 않습니다 ... – Julien

+0

'self.anchorPoint = CGPoint (x : 0, y : 0)'줄을 장면에 추가해보십시오 – Nik