如何在Swift中通过字符串更改按钮名称?
对于我的第一个应用程序,我正在制作一个玩家可以改变难度的游戏。当他选择难度时,某些值必须改变 其中一个值是“maxDynamites”,我使用了两个困难,简单和正常。在easy模式下,值为3,在正常模式下,值为1 现在,我宣布如下:如何在Swift中通过字符串更改按钮名称?,swift,function,Swift,Function,对于我的第一个应用程序,我正在制作一个玩家可以改变难度的游戏。当他选择难度时,某些值必须改变 其中一个值是“maxDynamites”,我使用了两个困难,简单和正常。在easy模式下,值为3,在正常模式下,值为1 现在,我宣布如下: func setDifficulty() { if Difficulty == 0 { maxDynamites = dif0MaxDynamites else if Difficulty == 1 {
func setDifficulty()
{
if Difficulty == 0
{
maxDynamites = dif0MaxDynamites
else if Difficulty == 1
{
maxDynamites = dif1MaxDynamites
}
}
}
这将达到目的,但我计划使用更多的变量和更多的困难。如果难度设置为正常,是否有办法移除DIF0MaxDynamices并将其更改为自动将“0”更改为“1”?我不认为一直使用if是正确的,这样我就必须复制粘贴我的代码,以避免大量的困难。。。欢迎任何帮助。在
结构中包含您的设置可能会有所帮助
struct DifficultySettings {
static let easyModeSettings = DifficultySettings(maxDynamites: 3, maxHealth: 100, maxShields: 5)
static let normalModeSettings = DifficultySettings(maxDynamites: 1, maxHealth: 80, maxShields: 2)
static let hardModeSettings = DifficultySettings(maxDynamites: 1, maxHealth: 40, maxShields: 1)
let maxDynamites: Int
let maxHealth: Int
let maxShields: Int
}
静态
变量可以包含所有不同的参数。易于修改等
func setDifficulty(mode: DifficultySettings) {
// Setup the game based on settings
print("Max dynamites: \(mode.maxDynamites)")
print("Max health: \(mode.maxHealth)")
print("Max shields: \(mode.maxShields)")
}
您可以将按钮连接到以下内容:
func setDifficultyToEasy() {
setDifficulty(.easyModeSettings)
}
func setDifficultyToNormal() {
setDifficulty(.normalModeSettings)
}
func setDifficultyToHard() {
setDifficulty(.hardModeSettings)
}
有了这样的解决方案,就很容易增加更多的难度和游戏参数
您可以将难度设置
传递给您的游戏逻辑,您的游戏逻辑可以使用其中包含的值。顺便问一下,这个问题的标题与问题有什么关系?是的!我需要知道的一切:)