スニペットをキューに入れて、指定された時間(1秒に1回)にすべて実行する必要があります。スニペットは、実際には、jump()、attack()、walk('left')などのプレーヤーアクションです。
ユーザーがキーを押すと、アクションをキューに入れ、すべてのアクションを1秒に1回実行する必要があります。
今のところ私のアプローチは、より良いアイデアがないため、各スニペットを配列に追加し、eval()でループすることです。これは私のコードです:
var queue = [];
// On player or AI action
queue.push('attack()'); // Could be walk('left'), jump() etc.
// On new frame
for(var i=0;i<queue.length;i++){
eval(queue[i]);
}
queue = [];
私のアプローチはひどいものだと思いますが、自分が何をしたいのかを明確にしたかったので、このような問題はそれほど珍しいことではないと思います。情報/アイデアはありますか?