2016-12-13 3 views
0

Это один из моих файлов JavaScript. Все мои другие файлы работают, кроме этого. Когда я запускаю стеки, он дает мне ссылочную ошибку, что мой файл over.js не определен.Phaser game.states не загружается

Я загрузил несколько других страниц. Я не знаю, почему именно этот не загружается.

Это мой over.js файл:

var over = { 

    preload: function() { 
    game.load.spritesheet('button', 'assets/button.png', 215, 53, 8); 
    }, 

    create: function() { 
    this.btnplayAgain = game.add.button(110, 400, 'button', this.playAgain, this, 2, 3, 2); 
    }, 

    playAgain: function() { 
    game.state.start("main"); 
    }, 

    update: function() {}, 
}; 

И мой main.js окончание моего кода заключается в следующем:

var game = new Phaser.Game(480, 640, Phaser.AUTO); 
game.state.add('over', over); //<----------------This one doesn't work 

game.state.add('main', MainState); 
game.state.add('stateTitle', stateTitle); 
game.state.start('stateTitle'); 

Что я делаю неправильно?

+0

Если у вас есть ошибка, которую вы хотели бы отлаживать, скопируйте в нее точные сообщения об ошибке; очень сложно помочь вам в противном случае. Благодаря! – MayorMonty

+0

Незначительное редактирование контента и стиля для улучшения качества вопроса. – jacefarm

+0

Можете ли вы показать нам html, где вы загружаете различные файлы .js? Моя первая догадка заключается в том, что по какой-то причине вы не загрузили файл 'over.js'. –

ответ

0

При использовании состояний с Phaser убедитесь, что вы загружаете файлы javascript для состояний перед загрузкой файла javascript для вашего основного состояния. Редактируйте свой HTML-файл как таковой

<script type="text/javascript" src="js/phaser.js"></script> 
<script src="js/stateTitle.js"></script> 
<script src="js/stateOver.js"></script> 
<script src="js/main.js"></script> 

Это устранит ошибку, с которой вы сталкиваетесь. Основная причина ошибки заключается в том, что сначала загружается файл main.js, и он проверяет состояние over. Поскольку файл, который содержит состояние over, еще не загружен, он генерирует исключение, которое не определено.

+0

Я как раз собирался написать, что я понял, что сделал именно это, и теперь моя игра работает !!! –

0

Просто переставив мои загрузочные скрипты, моя проблема была исправлена. Моя main.js была впереди моего over.js, что сделало ее неработоспособной.