2016-07-16 3 views
0

私のindex.htmlファイルには、必要なすべてのJSファイルが含まれているように見え、その状態を定義しています。これは私が人々がオンラインで行うことを見てきたもので、彼らにとってはうまく機能します。フェイザーステートマネージャーは特定の状態を見つけることができませんか?

<html> 
 
<head> 
 
    <meta charset = "UTF-8"/> 
 
    <title>Test</title> 
 
    <script src = "phaser.js"></script> 
 
    <script src = "Boot.js"></script> 
 
    <script src = "Preload.js"></script> 
 
    <script src = "MainMenu.js>"></script> 
 
</head> 
 

 

 
<body> 
 
    <script type="text/javascript"> 
 
     window.onload = function(){ 
 

 
      var game = new Phaser.Game(800,600,Phaser.AUTO,''); 
 

 
      game.state.add('Boot',Game.Boot); 
 
      game.state.add('Preload',Game.Preload); 
 
      game.state.add('MainMenu',Game.MainMenu); 
 

 
      game.state.start('Boot'); 
 

 
     } 
 

 
    </script> 
 
</body> 
 
</html>

私の問題は、このコードが正常にPreload.jsにBoot.jsから状態を変更しながら、それは「キーでは見つかりません状態:メインメニュー」がないと主張しているということです。私は非常に混乱しています。私はPhaserバージョン2.6.1を使用しています

あなたの目を疲れさせるために、私はBoot.jsファイル、Preload.jsファイル、MainMenu.jsファイルを1つにまとめました連結ペーストビンここに:http://pastebin.com/sJYTsCdY

申し訳ありません礼儀の間違いがあった場合は、これが初めてStackOverflowに投稿されます。どんな助けもありがとう、ありがとう!

+0

私はあなたのペーストビンファイルを試して、それは正常に動作します。リソースが見つからないためにエラーが発生しますが、MainMenu状態の開始にエラーはありません。ファイル名に大文字と小文字を区別するファイル名と大文字が原因でしょうか? Chromeでは 'ctrl + shift + J'を押してコンソールログを見ることができます。他のエラーメッセージも表示されますか? – BdR

答えて

0

ペーストビンの行76でGame.MainMenuGame.MainMenu.prototypeに変更してみてください。

フェーザーが新しい状態としてMainMenuを追加しようとしましたが、インスタンス化しようとすると、コンストラクタとして機能する機能がないために失敗します(newを使用するときに必要な機能です)。状態を追加するときは内部的に)。 はコンストラクタとして最初に機能しますが、それをオーバーライドします(別のものを同じGame.MainMenuに割り当てます)、PhaserがMainMenuのインスタンスを作成できなくなります。

+0

MainMenu.jsファイルにエラーがないか確認してください。 – iijb

+0

@iijbこれは私が暗示していることです。 –

関連する問題