>>535
タイマを機能ごとにふるとややこしくなるので、メインから再帰的に呼ばれる
タスクシステムを汎用に組むのがおすすめ。概念的には以下のようなかんじ。
入力イベントはフラグ立てにとどめて解釈はメイン側からポーリングするように
しとけばそもそも停止しなくてよい。

class Task { // タスク処理用
var startTick;
function Task(tick) { startTick = tick;}
function work(tick) {
// 開始時刻と現在時刻の差分からなんかてきとーに実行。線描画とか。
return 終了したらtrue;
}
};
var tasks = []; // タスクのリスト
function main(tick) { // メイン。これは自体はTimer か Continuousから呼ぶ
if (tasks.count > 0) { // 本来のメイン処理を待たせるタスクがあるならそれを処理
for (var i=tasks.count-1;i>=0;i--) {
if (tasks[i].work(tick)) { tasks.erase(i); }
}
} else {
// 本来のメイン処理...
tasks.append(new Task(tick));// メインを待たせる処理を登録
}
}