を使用して Web ベースのゲームを開発していますprocessing.js
。私の質問は、ブラウザ ウィンドウを管理するための純粋な JavaScript コードに関するものです。
このゲームは小さなブラウザー ウィンドウ (200px*200px) の迷路で、各境界線は壁または別のウィンドウへの通路になります。私の問題は、元のウィンドウを閉じると、以前に使用したのと同じ機能を使用しても、元に戻そうとしても再び開かないことです。
ここで実行されている git リポジトリがあります: GitHub - TheMidst。
「エラー」を再現したい場合:
github からコードをプルします。
- 起動
index.html
します (お気に入りのブラウザーでは、私はクロムを使用しています)。 - 待ってから開くをクリックしないでください
start button -> level0.html
。 canvas->
level1.html
開口部の右側をクリックして右側に進みます。steps -> level0.html
静止画に戻ります。- 向かって右に戻る
level1.html
とリスポーンしません... =>これは私の問題です。
/js -> 関数を介してウィンドウの開閉を処理する windowScripts.js が含まれています。これは私のウィンドウ マネージャーの心臓部であり、バグがあります。
/levels -> 各レベルが HTML ページとして含まれています。
/pd -> ゲームのサウンドが Pure-Data パッチとして含まれています (ええ!)
ゲームはまだ完成にはほど遠いので、すべてが完璧には程遠いです。どんな助けでも大歓迎です。
乾杯。
いくつかのコードを追加するために編集
私が使用するポップアップを開くには:popUp(1); //1 は開きたいレベルの番号です。
これはこのjs関数に関連しています
関数 popUp(winNum) {
var windowFeatures = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,left="+(winVars[winNum][0])+",top="+(winVars[winNum][1])+",width="+winVars[winNum][2]+",height="+winVars[winNum][3];
windows[winNum] = window.open( "level"+winNum+".html", "myWindow"+winNum, windowFeatures);
windows[winNum].moveTo(winVars[winNum][0],winVars[winNum][1]);
}
私のすべてのウィンドウプロパティは配列に格納されています
私が使用するウィンドウを閉じるには:closeWindows(0); // 0 は閉じたいウィンドウの番号です。
関数 closeWindows(winNum2){
setTimeout (widows[winNum2] = window.close(),50); }
実際には、親ウィンドウなどの間に少し混乱がありました...
「window.opener.popUp(myPopup)」を使用すると問題が修正されました
github リポジトリにいくつかの変更が加えられました。同じ問題がある場合は、引き続き github リポジトリを参照できます。
乾杯