我有一个Player类,它有一个用于更改Player类型的枚举。见下面的init。
GameScene
在player.playerType
我使用以下方法更改某些播放器属性,但func changePlayer (newPlayerType:Player.PlayerType) {
player.spriteTexture = SKTexture(imageNamed: newPlayerType.simpleDescription())
let action = SKAction.setTexture(player.spriteTexture)
player.sprite.runAction(action)
player.playerType == newPlayerType //this doesn't seem to work, player.playerType remains unchanged every time
println("raw value of newPlayerType is \(newPlayerType.rawValue)")
println("raw value of player.playerType is \(player.playerType.rawValue)")
}
的枚举值在分配时不会更改。原因是什么,我该如何纠正?
intrinsicContentSize
答案 0 :(得分:1)
您无法为现有枚举分配不同的案例;你可以让现有的枚举改变它自己的情况,但不能通过赋值来改变它。
您可以使用同一个枚举的另一个枚举实例(具有不同的大小写)替换枚举实例(有一个案例),但前提是枚举是var
引用,而不是let
参考
答案 1 :(得分:0)
==
是相等运算符。
您正在寻找=
作业(请注意,只有一个等号)。
答案 2 :(得分:0)
检查你的枚举参考应该是var not let