Проект Excalibur ничего не показывает

Мой код якобы создан для отображения двух спрайтов кнопок (ничего ужасно сложного (или это так?), Но ничего не появляется, даже синий экран, который должен отображаться только при создании переменной игры и ее запуске. Весь мой код был сделан в соответствии с официальной документацией Excalibur, так что же происходит?

Код:

var game = new ex.Engine({
width: 1024,
height: 768
});

function loadAssets() 
{
    var loader = new ex.Loader();
    var resources = {
    txGameTitle: new.ex.Texture("icons/GUI/final/"),
    txStartButton: new.ex.Texture("icons/GUI/final/MenuPlayButton.png"),
    txLoadButton: new.ex.Texture("icons/GUI/final/MenuLoadButton.png"),
    txOptionsButton: new.ex.Texture("icons/GUI/final/"),
    txExitButton: new.ex.Texture("icons/GUI/final/"),
    txMenuBackground: new.ex.Texture("icons/GUI/final/"),
    txMenuMusic: new.ex.Sound("icons/GUI/final/")
    };

    for (var loadable in resources)
    {
         if (resources.hasOwnProperty(loadable))
        {
             loader.addResource(resources[loadable]);
        }
    }
}

function startUp()
{
    var StartButton = new ex.Actor.extend({
        onInitialize: function (engine)
        {
            this.addDrawing(txStartButton.asSprite());
        }
    });

    var LoadButton = new ex.Actor.extend({
        onInitialize: function (engine)
        {
            this.addDrawing(txLoadButton.asSprite());
        }
    });

}

function init()
{
    loadAssets();
    startUp();

}

init();

game.start(loader).then(function () {
    console.info("Game started!");
});

извините за плохое форматирование.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
38
1

Ответы 1

Думаю, это могло быть из-за ошибки кода. Я заметил, что прямо в конце файла

game.start(loader)

имеется ссылка на переменную грузчик, но кажется, что она не определена. Есть такая же переменная, созданная внутри функции loadAssets, но она локальная. Вероятно, для того, чтобы его использовать, вам нужно определить его выше.

var loader;

function loadAssets() {
 loader = ...
}

...other code

game.start(loader).then(...

Другой вариант - определить загрузчик вне функции loadAssets.

var loader = new ex.Loader();

function loadAssets() {
  var resources = {...
}

...other code

game.start(loader).then(...

по-прежнему только белый экран.

Querky Bren 29.08.2018 09:41

Другие вопросы по теме