2013-10-18 3 views
1

I 수평을 중심으로 할 필요가 빈 SKScene, 그래서 나는 그것이 anchorPoint의 설정 :SKScene 규모 + anchorPoint = 이상한 행동

self.anchorPoint = CGPoint(0.5f, 0); 

나는 또한 SpriteKit - Set Scale and Physics 당을 확장 할 필요가있다, 그래서 작업을 실행 그걸 좋아해요 :

[self runAction:[SKAction scaleTo:0.5f duration:0.0f]]; 

내 문제는 내가 터치를 감지하면 이상하게 떨어져 보이는 위치를 얻습니다. 평소 (locationInNode : self) 메소드를 사용하여 터치를 감지하고 터치가있는 곳에서 약간 파란색 사각형을 추가하고 있지만 장치의 네 모퉁이를 터치하면 내 프레임의 1/4이 표시됩니다. 화면이 (제대로)하지만 여기에 이미 확인했습니다 몇 가지 있습니다

는 겉으로는 임의의 양만큼 왼쪽으로 이동 :

  • 장면 viewWillLayoutSubviews에 초기화, 내가 올바른 초기 차원이 알고
  • 장면의 scaleMode가 SKSceneScaleModeAspectFill로 설정되었지만 모두 사용할 수 없도록 시도했습니다.
  • (210)

답변

0

설정 기준점

self.anchorPoint = CGPoint(0.5f, 0); 

로와 화면 FIT하지 화면 채우기로 장면 스케일 모드를 설정합니다.

SKSceneScaleModeAspectFit 
2

나는 같은 문제를 잠시 고민하고 있었지만 마침내 생각했습니다. 당신은 스케일로 씬 (setScale을 시도하면 힌트를주는 것처럼)으로되어 있지 않습니다. 너는 로되어 있고, 크기로되어있다.

이 시도 :

myScene.scaleMode = SKSceneScaleModeAspectFill;

그리고 다음을 축소하는 동안 :

myScene.size = CGSizeMake(newX, newY);

+0

좋은 팁. 장면을 재조정하면 재사용 된 장면 경계를 만지면 새로운 장면 영역 내의 새로운 좌표로 변환됩니다. 그러나 크기를 조정하면 문제가 사라졌습니다. 하지만 처음에는 더 큰 숫자로 크기를 조정하면 실제로 장면의 내용 크기가 줄어 듭니다. 크기를 조정할 때 동일한 "볼륨"내에서 더 많은 픽셀을 사용한다고 가정하면 내부의 모든 내용이 그에 따라 줄어 듭니다. – Thunk