callClip1、callClip2、callClip3 などと呼ばれる 6 つの関数があります。
必要に応じてこれらのそれぞれを呼び出す 6 つの else/if ステートメントを書き出すことを計画していましたが、(おそらく) 別の方法で実行できると考えました。「callClip」という関数を 1 つ呼び出して、別の場所で設定した変数を最後に追加できますか? では、変数が 3 に設定されている場合、callClip + 3 をまとめてその関数を呼び出すのでしょうか?
ありがとう
callClip1、callClip2、callClip3 などと呼ばれる 6 つの関数があります。
必要に応じてこれらのそれぞれを呼び出す 6 つの else/if ステートメントを書き出すことを計画していましたが、(おそらく) 別の方法で実行できると考えました。「callClip」という関数を 1 つ呼び出して、別の場所で設定した変数を最後に追加できますか? では、変数が 3 に設定されている場合、callClip + 3 をまとめてその関数を呼び出すのでしょうか?
ありがとう
これは、switch ブロックを使用して実行できます。
使用されます: callClip(1);
function callClip(number:int):void
{
switch(number)
{
case 1:
callClip1();
break;
case 2:
callClip2();
break;
case 3:
callClip3();
break;
case 4:
callClip4();
break;
case 5:
callClip5();
break;
case 6:
callClip6();
break;
}
}
お勧めしませんが、これは次のように実装することもできます。
function callClip(number:int):void
{
this["callClip" + number]();
}
ジェイソンの答えに加えて、これを行うこともできます:
// Store references to each method.
var methods:Vector.<Function> = new <Function>[
callClip1, callClip2, callClip3,
callClip4, callClip5, callClip6
];
// Call relevant callClip function.
function callClip(num:int):void
{
methods[num-1]();
}