我曾经为 Windows 编写宏脚本,这是可行的:
VAR=0
Label>LOOP
VAR=VAR+1
ANOTHERVAR%VAR%=8 (all variables up to 30 will be set to 8)
if>VAR>=30 {Goto>BREAK}else{Goto>LOOP}
Label>BREAK
EXIT
上面的代码将有效地将“ANOTHERVAR1”设置为“ANOTHERVAR30”的值 8。
现在我的问题是,我怎样才能在objective-c 上获得相同的结果?我有很多变量要设置。现在在 XCode 上我需要设置 30 个变量。我总是一一设置它们,但它占用空间,我的源代码现在超过 10k 行。
这就是我所拥有的:
if (Dedicatedkind==@"Cat"){
_oAttack7.alpha=0;
_oAttack7.enabled=NO;
}
这基本上禁用了非必需按钮,在这种情况下 Dedicatedkind 始终等于 Cat。我需要禁用按钮 7 到 30。但我有超过 80 种不同的 Dedicatedkind。我希望你能理解我的问题。如果我要手动设置它们,我希望能够使用更少的代码行来禁用任意数量的按钮。
像这样 :
if (Dedicatedkind==@"Cat"){
_oAttack7.alpha=0;
_oAttack7.enabled=NO;
_oAttack8.alpha=0;
_oAttack8.enabled=NO;
_oAttack9.alpha=0;
_oAttack9.enabled=NO;
And so on, until I reach _oAttack30
}
如果这很重要,这适用于 iPhone,我正在使用情节提要。
额外信息:
设置 enabled:NO 只是一种安全措施,因为如果满足条件,这些按钮将变为 alpha:0.3,从而重新启用它们。不幸的是,我的代码太大,无法发布每个根源和条件。这些按钮是猫学会的攻击,最多有 30 次攻击,但猫只学会了其中的 6 次。这 24 个按钮必须完全不可见,而 6 个攻击,即使尚未学习,也必须至少部分可见。在学习这些攻击时,相应的按钮变得完全可见。那是给猫的。在这个游戏中,猫是您在开始新游戏时获得的三种基本动物之一,因此具有局限性。更大、更稀有的动物可能会学习 6 次以上的攻击。
幸运的是,我已经完成了所有这些,除了必须禁用的 24 个攻击/按钮,这导致我提出了这个问题!