下記の関数の1つを1秒ごとにランダムに呼び出そうとしています。これが私が持っているコードです。
counter=Math.floor(1+Math.random()*3); // genertate random number from 1 to 3
setTimeout("startenemy"+counter, 1000); // call one function with a delay of one second
function startenemy1()
{
trace("1");
enemy1.gotoAndPlay(2);
}
function startenemy2()
{
trace("2");
enemy2.gotoAndPlay(2);
}
function startenemy3()
{
trace("3");
enemy3.gotoAndPlay(2);
}
このシナリオでは、setTimeout関数が機能していません。しかし、setTimeoutを使用する非常に原始的な方法を使用する場合、それは問題なく機能します。
setTimeout(startenemy1, 1000); // call one function with a delay of one second
function startenemy1()
{
trace("1");
enemy1.gotoAndPlay(2);
}
この実装は問題なく機能します。したがって、間違った引数でsetTimeout関数を使用していることがわかります。
これを実現する別の方法があるかどうか教えてください。