Objets à l'intérieur des objets en javascript

Je suis un peu nouveau pour Javascript, c'est peut-être juste une erreur de débutant, mais je n'ai pas trouvé quelque chose qui précisément m'aide tout en regardant autour de lui. Je suis en train d'écrire un jeu, et je suis en train de construire un objet pour le menu de pause.

L'une des choses que je voudrais faire est d'avoir les boutons sur le menu des objets à l'intérieur de la pause_menu objet pour des raisons d'organisation. Je suis finalement aller à ajouter des gestionnaires d'événements pour ces objets, et j'aimerais le faire à l'intérieur de la pause_menu objet. Certains de les bouton ne sont pas entièrement codé encore, mais j'aimerais avoir au moins quelque chose de travail avant que je continue.

Je suis en utilisant Raphael.js v1.5.2 à rendre les formes. Le Raphael œuvres de trucs pour le reste de l'interface, mais le code n'est pas aussi agréable à regarder comme ça, alors quelque chose de semblable à ce qui serait préférable pour moi.

Mon problème actuel est que rien ne génère quand je fais var pause_menu = new pause_menu();

C'est le code que j'ai jusqu'ici pour le menu de pause:

//Pause Menu Object:
function pause_menu() {

    function pause_button() {
        this.button = game.rect(0, 350, 150, 50, 5);
        this.text =  game.text(75, 375, 'PAUSE');
    }
    function resume_button() {
        this.button;
        this.text;
    }
    function quit_button() {
        this.button;
        this.text;
    }
    this.pause_button = new pause_button(); //the button that the user presses to pause the game (I want an event handler on this to trigger .show() method for presently hidden menu items)
    this.resume_button = new resume_button();
    this.quit_button = new quit_button();
    this.box = game.rect(150, 50, 400, 300, 5).hide(); //the box that surrounds the menu when it appears
}
var pause_menu = new pause_menu();

OK, alors voici la solution (avec un gestionnaire d'événement):

var pause_menu = {

    pause_button: { button : game.rect(0, 350, 150, 50, 5).click(function (event){
                       pause_menu.menu_box.show();
                  }), text : game.text(75, 375, 'PAUSE') },
    menu_box: game.rect(150, 50, 400, 300, 5).hide(),
    resume_button: {},
    quit_button: {}

};

source d'informationauteur Michael Taufen