我一直在收到错误......'使用未解析的标识符'和'Type gameType没有成员暂停游戏'

时间:2017-11-19 16:06:26

标签: ios swift

我创建了一个按钮来暂停我的游戏,我正在尝试为它做一些动作。 所以我不知道我做错了什么,本网站上的所有其他'解决方案'都没有为我工作,所以你能告诉我我做错了什么,或者说我不做什么。

import Foundation
import UIKit

enum gameType {
case easy
case medium
case hard
case player2
case impossible
}

func pauseGame() {         // HERE IS WHERE I GET THE ERRORS... IN THIS FUNCTION
    self.isPaused = true
    currentGameType = gameType.pauseGame
    self.physicsWorld.speed = 0
    self.speed = 0.0
}

class MenuVC : UIViewController {

@IBAction func Player2(_ sender: Any) {
    moveToGame(game: .player2)
}

@IBAction func Easy(_ sender: Any) {
    moveToGame(game: .easy)
}
@IBAction func Medium(_ sender: Any) {
    moveToGame(game: .medium)

}
@IBAction func Hard(_ sender: Any) {
    moveToGame(game: .hard)
}

@IBAction func Impossible(_ sender: AnyObject) {
    moveToGame(game: .impossible)
}


func moveToGame(game : gameType) {
    let gameVC = self.storyboard?.instantiateViewController(withIdentifier: "gameVC") as! GameViewController

    currentGameType = game

    self.navigationController?.pushViewController(gameVC, animated: true)
    }
}

1 个答案:

答案 0 :(得分:0)

在文件顶部,gameTypeenumeration。这意味着它可以拥有一组有限的 case (游戏类型可以是简单,中等,硬等等)。在你的代码中,你试图使用一个名为pauseGame,但如果你看一下gameType的定义,就不会有这个名字。因此,您需要a)向pauseGame添加gameType个案(pauseGame是否对游戏“有点”有意义吗?)或者不设置gameType在你的pauseGame函数中。

我的直觉是,当用户暂停时,你实际上并不想改变游戏的类型,所以你可能只是摆脱那条线。另外,关于样式的注释 - 最好用大写字母开始类型名称,以区别于函数和局部变量(所以GameType代替gameType。)