GameScene.swiftとGameViewController.swift間でDouble型の変数の受け渡し
プログラミング初心者です。
Xcodeの"Game"でゲームを作成しているのですが、時間とともに敵が変化するゲームを作りたいので、GameViewController.swiftにてゲームを開始してからの経過時間を表すDouble型の変数を用意し、それをGameScene.swiftに渡そうと思っています。
この受け渡しをどのように実現すればよいのかがわかりません。
初心者ゆえ理解が浅くつまらない質問かもしれませんが、どうかお願いいたします。
試したこと
GameViewController.swiftにて
var nowTime: Double = 0.0
とグローバル変数を用意したのですが、GameViewController.swiftのclassの中ではしっかり経過時間が出るものの、違うファイルのGameScene.swiftにおいてはnowTimeが0.0となってしまう。
### コード(GameSceneにおいてのnowTimeの参照)
if nowTime == 2.0 {
firstEnemy()
}else if nowTime == 4.0 {
secondEnemy()
}else if nowTime == 7.5 {
thirdEnemy()
}else {
}//もっと追加する
func firstEnemy(){
let mobu1 = SKSpriteNode(imageNamed: "mobu1") mobu1.position = CGPoint(x:0,y:frame.height * 3 / 10) mobu1.scale(to: CGSize(width: frame.width/6, height: frame.width/6)) mobu1.physicsBody = SKPhysicsBody(circleOfRadius: mobu1.frame.width ) mobu1.physicsBody?.categoryBitMask = enemyCategory mobu1.physicsBody?.contactTestBitMask = bulletCategory + shipCategory mobu1.physicsBody?.collisionBitMask = 0 addChild(mobu1) let move = SKAction.moveTo(y:-frame.height / 2 - mobu1.frame.height, duration: 6.0) let remove = SKAction.removeFromParent() mobu1.run(SKAction.sequence([move, remove])) }
//secondeEnemyやthirdEnemy...も追加する予定です。
//nowTimeを渡したい部分は以上になります。