以前は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個の変数を設定する必要があります。私はいつもそれらすべてを一つずつ設定してきましたが、それはスペースを取り、私のソースコードは現在1万行を超えています。
これは私が持っているものです:
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用であり、私はストーリーボードを使用しています。
追加情報:
有効に設定:NOは、条件が満たされた場合にそれらのボタンがalpha:0.3に変わり、再び有効になるため、単に安全です。残念ながら、私のコードは大きすぎて、すべてのルートと条件を投稿できません。これらのボタンは猫が学習した攻撃であり、最大30の攻撃がありますが、猫はそのうちの6つしか学習しません。これらの24個のボタンは完全に非表示である必要があり、6個の攻撃は、まだ学習されていなくても、少なくとも部分的に表示されている必要があります。これらの攻撃を学習すると、適切なボタンが完全に表示されます。それは猫のためです。このゲームでは、猫は新しいゲームを開始するときに手に入れる3つの基本的な動物の1つであるため、制限があります。より大きく、よりまれな動物は、6回以上の攻撃を学ぶ可能性があります。
幸いなことに、無効にする必要がある24の攻撃/ボタンを除いて、私はすでにすべてのことを実行しました。そのため、この質問にたどり着きました。