前回、シナリオを演出込みで読み進められるようになった。 そこで、オープニングシナリオを読み進めたところ。。。
(ノ∀`)アチャー
今日の課題
- Maximum call stack size exceeded を解決する
作業録
BGanime が slideLSを、slideLS が BGanimeを呼び出しあっているので、 timeoutを挟んで連続性をカットする。
幸い返り値voidなfunctionなので、特段問題はなかった。
before
function BGanime(layName,flag){ /* 計算処理 */ if(flag==1){//繰り返しの時 mvFlag[layName]=false; slideLS(layName,a,b,a2,b2,c,10); }else{//はじめの場合 for(i=0;i<8;i++){ /* 計算処理 */ mvFlag['bga'+i]=false; //flag slideLS('bga'+i,a,b,a2,b2,c,10); } } }
after
function BGanime(layName,flag){ /* 計算処理 */ if(flag==1){//繰り返しの時 mvFlag[layName]=false; setTimeout(function(){ slideLS(layName,a,b,a2,b2,c,10); }); }else{//はじめの場合 for(i=0;i<8;i++){ /* 計算処理 */ mvFlag['bga'+i]=false; //flag setTimeout(function(){ slideLS('bga'+i,a,b,a2,b2,c,10); },10); } } }
動いた
エラーは解消され、次のページへ無事に遷移した。