Объекты внутри объектов в javascript

Я новичок в Javascript, так что, возможно, это просто ошибка новичка, но я не нашел ничего, что помогло бы мне, пока оглядываться. Я пишу игру и пытаюсь создать объект для меню паузы.

Одна из вещей, которую я хотел бы сделать, - чтобы кнопки в меню были объектами внутри объекта pause_menu просто ради организации. В конце концов я собираюсь добавить обработчики событий к этим объектам, и я бы хотел сделать это и внутри объекта pause_menu. Некоторые кнопки еще не полностью закодированы,но я бы хотел, чтобы хоть что-нибудь заработало, прежде чем продолжить.

Я использую Raphael.js v1.5.2 для рендеринга форм. Материал Рафаэля работает для остальной части интерфейса, но код для него не так приятен, как этот, поэтому что-то похожее на это было бы для меня предпочтительнее.

Моя текущая проблема в том, что на самом деле ничего не отображается, когда я do var pause_menu = new pause_menu ();

Это код, который у меня есть для меню паузы:

//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();

Хорошо, вот решение (с обработчиком событий):

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: {}

};
25
задан Michael Taufen 21 June 2011 в 19:30
поделиться