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