我创建了一个按钮来暂停我的游戏,我正在尝试为它做一些动作。 所以我不知道我做错了什么,本网站上的所有其他'解决方案'都没有为我工作,所以你能告诉我我做错了什么,或者说我不做什么。
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)
}
}
答案 0 :(得分:0)
在文件顶部,gameType
为enumeration。这意味着它可以拥有一组有限的 case (游戏类型可以是简单,中等,硬等等)。在你的代码中,你试图使用一个名为pauseGame
,但如果你看一下gameType
的定义,就不会有这个名字。因此,您需要a)向pauseGame
添加gameType
个案(pauseGame
是否对游戏“有点”有意义吗?)或者不设置gameType
在你的pauseGame
函数中。
我的直觉是,当用户暂停时,你实际上并不想改变游戏的类型,所以你可能只是摆脱那条线。另外,关于样式的注释 - 最好用大写字母开始类型名称,以区别于函数和局部变量(所以GameType
代替gameType
。)