2016-05-26 11 views
1

私のGameViewController.swiftにはresumeGameSceneという関数があります。その機能では、私は3つのタイマを開始します。私のGameScene.swiftファイルでは、3つの別々の関数(lane1、lane2、lane3)が呼び出されます。私は、私の関数クラス関数を作ろうとしましたが、これらの関数(lane1、lane2、およびlane3)の中にもっと多くの関数と変数があるため、これはうまくいきませんでした。GameScControllerのNSTimerからGameSceneで定義された関数を呼び出す

GameViewController.swift:

func resumeGameScene() { 
    if (GameScene.unarchiveFromFile("GameScene") as? GameScene) != nil 
    { 
     let skView = self.view as! SKView 

     if skView.scene != nil 
     { 
      skView.paused = false 

      if resumeTime1 != nil && resumeTime2 != nil && resumeTime3 != nil 
      { 

       timer1 = NSTimer.scheduledTimerWithTimeInterval(resumeTime1!, target: self, selector: #selector(GameScene.lane1), userInfo: nil, repeats: false) 

       timer2 = NSTimer.scheduledTimerWithTimeInterval(resumeTime2!, target: self, selector: #selector(GameScene.lane2), userInfo: nil, repeats: false) 

       timer3 = NSTimer.scheduledTimerWithTimeInterval(resumeTime3!, target: self, selector: #selector(GameScene.lane3), userInfo: nil, repeats: false) 



      } 

     } 
    } 
} 

GameScene.swift:

func lane1() 
{ 


    let randomNum = arc4random_uniform(100) + 1 

    levels() 

    if randomNum < 46 
    { 
     mouseFire(1, laneFire: fire) 

    } 
    else 
    { 
     enemyFire(1, laneFire: fire) 

    } 

}//End of lane1 func 


func lane2() 
{ 

    let randomNum = arc4random_uniform(100) + 1 

    levels() 

    if randomNum < 46 
    { 
     mouseFire(3, laneFire: fire) 

    } 
    else 
    { 
     enemyFire(3, laneFire: fire) 

    } 

}//End of Lane2 func 


func lane3() 
{ 


    let randomNum = arc4random_uniform(100) + 1 

    levels() 

    if randomNum < 46 
    { 
     mouseFire(5, laneFire: fire) 

    } 
    else 
    { 
     enemyFire(5, laneFire: fire) 

    } 

}//End of Lane3 func 

答えて

0

あなたの目標は、self従ってセレクタはGameViewControllerあるselfに呼び出されますされています。セレクタがGameViewControllerにないため、これは機能しません。 GameSceneのオブジェクトを作成し、ターゲットに渡す必要があります。

+0

ありがとうございます! GameSceneのオブジェクトを作成し、それをターゲットにどのように渡しますか?申し訳ありません、私は新しいコーダーです –

関連する問題