2017-05-13 4 views
0

다음은 재시작 단추를 누를 때 실행되는 코드입니다. 게임은 점수, 연극 및 삽입 광고를 다시 설정하고 게임 장면으로 돌아갑니다.삽입 광고 이후 장면 전환 (SpriteKit)

지금 게임 장면을 변경하기 전에 삽입 광고가 종료 될 때까지 기다리지 않습니다.

if restartButton.contains(pointOfTouch) { 

      score = 0 

      displayAd() 



      let sceneToMoveTo = GameScene(size: self.size) 
      sceneToMoveTo.scaleMode = self.scaleMode 
      let myTransition = SKTransition.fade(withDuration: 0.5) 
      self.view!.presentScene(sceneToMoveTo, transition: myTransition) 

     } 
+0

'interstitialDidDismissScreen (ad : GADInterstitial)'시도했지만 작동하지 않았습니다. 나는 괄호 사이에 옳은 것을 넣을 지 잘 모르겠지만. – Trlewi

+0

설명하는 것은 코드가 현재하는 일입니다. 그래서 당신이 할 수있는 일은 광고가 끝나거나 나왔을 때 현장에 알려주는 것입니다. 이를 위해 알림을 게시하고 해당 알림의 옵서버로 장면을 추가 할 수 있으며 그에 따라 적절한 코드를 실행할 수 있습니다. – Whirlwind

+0

튜토리얼 링크가 있으니 말씀해 주시겠습니까? – Trlewi

답변

0

대기 기능을 포함하면 장면 전환 전 화면에 광고가 표시됩니다.

func delay(_ delay:Double, closure:@escaping()->()) { 
     let when = DispatchTime.now() + delay 
     DispatchQueue.main.asyncAfter(deadline: when, execute: closure) 
} 

그리고는 2.0 그래서이 코드는 2 초 기다린 후 변경 장면 기능을 실행하는 것을 말하는 시간 (초) 그래서

delay(2.0) { 
    self.changeScene() 
} 

같은 지연 함수 내에서 장면 체인저를 배치 . 광고가 종료되면 장면이 변경됩니다.