読者です 読者をやめる 読者になる 読者になる

ごらくらいふ

プログラミングしたりゲームしたり

「リトル・レディ」かってに復活開発日誌 #11

f:id:yajamon:20150715095909p:plain

前回、シナリオを演出込みで読み進められるようになった。 そこで、オープニングシナリオを読み進めたところ。。。

f:id:yajamon:20150727135805p:plain

(ノ∀`)アチャー

今日の課題

  • 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);
        }
    }
}

動いた

f:id:yajamon:20150727141126p:plain

エラーは解消され、次のページへ無事に遷移した。