2015-01-25 4 views
0

게임을 만들고 있는데, 메뉴 장면을 설정 장면 (버튼 사용)으로 이동하면 모두 잘 동작합니다.스위프트 프레임이 모두 일치하지 않습니다.

하지만 내 위치 설정에 가서 UISlider라고 말하면 위치 설정이 모두 끝납니다. 이 말은 내 말은 self.frame.size.width/2으로 놓으려고하면 화면에 3/4 정도의 거리가되고 중간에 아무 것도 나타나지 않는다는 의미입니다.

내가 진행하는 방식에 문제가 있다고 확신합니다. 장면 장면에서 - 이것은 위의 코드 내 메뉴 장면과 내

내가 문제가 함께 확신한다 "설정 버튼으로 이동"을 눌러 실행에 그

func settingsScene() { 

    println("Settings Scene Pressed!") 
    var settingscene: Settings = Settings(size: CGSizeMake(768, 1024)) 
    var spriteView: SKView = self.view as SKView! 
    settingscene.scaleMode = .AspectFill 
    var trans :SKTransition = SKTransition.doorsOpenHorizontalWithDuration(0.5) 
    spriteView.presentScene(settingscene, transition: trans) 
    settingsButton.removeFromSuperview() 
    button.removeFromSuperview() 

} 

내 코드입니다 size: CGSizeMake(768,1024) 라인

이것은 내 코드입니다. 전자 슬라이더 - 나는 당신의 SettingsScene를 초기화 할 때 하드 코드 크기를 사용하지 않는 것이, 내가 추천 할 것 장면

sliderDemo.frame = CGRectMake(0.0, 0.0, 100.0, 50.0) 
    sliderDemo.frame.origin = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) 
    sliderDemo.minimumValue = 0.5 
    sliderDemo.maximumValue = 5.0 
    sliderDemo.continuous = true 
    sliderDemo.tintColor = UIColor.redColor() 
    sliderDemo.value = 3.0 
    sliderDemo.addTarget(self, action: "sliderValueDidChange:", forControlEvents: .ValueChanged) 
    view.addSubview(sliderDemo) 

답변

1

최초의 중간에 위치하는 방법을 모르겠습니다. 현재 장면의 크기를 사용하는 것이 좋습니다. 뭔가 같은 :

var settingscene: Settings = Settings(size: self.size) 

그래서 다른 장면은 항상 같은 크기입니다.

하지만 문제를 해결하려면. 여기서 문제는 GameViewController와 GameScene이 기본적으로 같은 크기가 아니라는 것입니다. 그래서 당신은 서로 일치하도록 크기를 변경해야합니다 :

그렇게하려면 당신의 GameViewController을 열고 라인 scene.scaleMode = .AspectFill 후있는 viewDidLoad 메소드에 다음 줄을 추가하고 이전 skView.presentScene(scene) :

scene.size = skView.bounds.size 

그 장면의 크기를 올바르게 설정합니다.

+0

나는 self.size라는 첫 번째 수정안을 시도했지만 여전히 이상하게 배치되어있다. 내가 화면에 올려 놓은 방법입니까? 내 코드를 편집하여 내 버튼/슬라이더를 배치하는 방법을 보여줍니다. – LukeTerzich

+0

GameViewController에도 게시 한 두 번째 줄을 추가하십시오. 그것은 당신의 문제를 해결해야합니다. – Christian

+0

모두 완벽하게 정렬되었습니다! 빛나는 대답 ...하지만 한 가지 문제 - 버튼이 눌러지지 않고 슬라이더가 미끄러지지 않습니다 ... 왜 그런 일이 일어날 지 매우 이상한 이유가 무엇입니까? – LukeTerzich