私はSwiftを初めて使っています。これは明らかな質問のように思えます。GameScene.swiftのGameViewController.swiftからオブジェクトのプロパティを変更する
私はSwiftにゲームを書きたいと思っています。私はストーリーボードにラベルと再生ボタンをデザインしました。
ここに見られるように、私はGameViewController.swiftファイルでこれらのオブジェクトへの参照を追加しました:
// MARK: Objects
@IBOutlet var gameLabel: UILabel!
@IBOutlet var playButton: UIImageView!
// MARK: Actions
@IBAction func playButtonTapped(sender: UITapGestureRecognizer) {
GameScene().gameStart()
}
これはGameViewControllerクラスに属する:class GameViewController: UIViewController
。
しかし、メインゲーム自体はGameScene.swiftで行われます。これは、ゲームが始まるとすぐにレーベルと画像を隠さなければならないということです。
GameViewController().playButton.hidden = true
...ゲームは致命的なエラーでクラッシュ:私はGameScene.swiftに次のように行った場合以来、非表示にするには、これらのオブジェクトのプロパティを設定する方法がわかりませんよ。エラー:致命的なエラー:オプション値をアンラップしている間に予期せずnilが見つかりました。
誰でもこの問題の提案がありますか?どんな助けでも大歓迎です。情報がわかりにくいのであれば、申し訳ありません。
乾杯。
GameSceneクラスを管理するGameViewControllerへの参照を保持するために、GameSceneクラスにプロパティを追加できます。次に、gameVC.gameLabel.hidden = trueを実行します。かなり良い解決策が必要な場合は、プロトコルを追加して、gameDidStart()とson onのメソッドを宣言し、GameSceneデリゲートをGameViewControllerにすることができます。それが助けてくれることを願っています。 – glm4
彼はSwiftに新しいと言いました。 – Confused