0

私のjavascriptゲームにoopスタイルを使用していますが、何らかの理由で新しいクラスを追加すると、含まれている他のクラスの関数が強制終了されます。

これが私が話しているスクリプトです。これは、すべてのクラスファイルを含めるメインファイルです。

$(document).ready(function(){

var canvas = document.getElementById("TBG");
var context = canvas.getContext("2d");

var ui = new Gui();
// var level = new Level();

//----------Login/Register Gui --------------
$('#TBG').hide();
$('#load-new').hide();
$('#reg').hide();
$('#login').hide();

//if login_but is clicked do ui.login function
$('#login_but').click(ui.login);
//if reg_but is clicked do ui.register function
$('#reg_but').click(ui.register);

$('#new_but').click(function(){
    game_settings("new");
});

$('#load_but').click(function(){
    game_settings("load");
});

//if login_sumbit button is clicked do ui.login_ajax function
$("#login_submit").click(ui.login_ajax);

$("#reg_submit").click(ui.register_ajax);

$("#welcome").on("click", "#logout_but", ui.logout);


  //___________________________________________________________________

//Initialisation of game

function game_settings(state){
    if(state == "load"){
        ui.load_game();
        //do ajax call to load user last save
        level.level_init(0,1);
    }
    else{
        //set beginning params


        //Change screens
        ui.new_game();
        alert("new game");
    }
}

});

上記のスクリプトのコンテキストでは、私の問題は、新しいレベルへの呼び出しなしで new Gui() への呼び出しがある場合、またはご覧のようにコメントされている場合です。完全に機能しますが、新しいレベルへの呼び出しを入れるか、コメントを外すとすぐに、login/register gui の見出しの下にあるすべての機能が強制終了されます。

どうしてこれなの?

編集:これは、あなたがそれを見たい場合のlevel.jsファイルと、私がクラスをどのように構築しているかです:

function Level(){

this.level_init = function(level, location){

    var saved_level = level;
    var saved_location = location;

};


this.get_tileset = function(){

};

this.draw = function() {

}
   }

ありがとう

トム

4

1 に答える 1

0

申し訳ありませんが、HTML にスクリプトを追加しなかったのは、私に代わってばかげた間違いだったことが判明しました! ご意見ありがとうございます

トム

于 2013-03-26T18:27:47.040 に答える