【问题标题】:Phaser Game instance error: Uncaught ReferenceError: Phaser is not definedPhaser Game 实例错误:未捕获的 ReferenceError:Phaser 未定义
【发布时间】:2023-03-04 20:13:02
【问题描述】:

我是一个相对较新的 JS 开发人员,如果你还可以叫我的话,我正在努力学习 Phaser 框架。无论如何,我有大多数人所说的“基本 Phaser 设置”,但是当我在浏览器 (Chrome) 中运行我的程序时,控制台会抛出一个错误消息,Uncaught ReferenceError: Phaser is not defined 在第 1 行,这是我创建 Phaser“游戏”实例的地方.这可以防止我的主要代码运行,它使背景 tileSprite 每帧向上滚动 2 个像素我正在观看教程视频,我试图完全模仿视频制作者的代码,但我的代码仍然无法运行。如果有人能帮助我并告诉我出了什么问题,我将不胜感激。谢谢!

这是我的 HTML:

<!DOCTYPE html>
<html>
<head>
	<title>Js Scroller</title
	<script type="text/javascript" src='phaser.min.js'></script>
	
  <script type="text/javascript" src='scrolling.js'></script>

</head>
<body>
	<style>
		
	</style>

</body>
</html>

这是我的 JavaScript:

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

var starfield;

var mainState = {
	preload: function() {
		game.load.image('starfield', '/Users/wyatthume/Desktop/starfield.png');
	},

	create: function() {
		starfield = game.add.tileSprite(0,0,800,600, 'starfield');
	},

	update: function() {
		starfield.tilePosition.y += 2;
	}

}

game.state.add('mainState', mainState);
game.state.start(mainState);

【问题讨论】:

  • 开发工具提供了一个网络标签。关于 Phaser 脚本来源,请确认:资源是否找到(例如 HTTP 200 响应)?如果没有,请求哪个实际 URL
  • 另外,您在&lt;/title 有一个未关闭的标签。
  • 抱歉,我不确定这是否会显示在网络标签中
  • 您使用的是 Phaser 2 还是 Phaser 3 的变体?

标签: javascript html phaser-framework


【解决方案1】:

确保可以根据 index.html 的位置解析 Phaser 的路径。

在这种情况下,如果您的 index.html 在 /home/foo/Web/index.html 中,请确保文件 /home/foo/Web/phaser.min.js 存在。

【讨论】:

    【解决方案2】:

    这是一个非常古老的线程,但由于它出现在 Google 的第一页并且没有得到答复,我会回答它。 :)

    Phaser 未定义,因为提问者直接打开了 HTML 文件,因此错误地读取了 Phaser 路径。每当您使用网络服务器时,请确保正确调用它。

    您的浏览器应该会显示

    • http://localhost/phaser3-tutorial-src/part3.html(或类似的东西)

    但是

    • 从不 C:/ D:/ E:/

    我希望这会对那里的人有所帮助!快乐的移相。

    【讨论】:

      猜你喜欢
      • 2013-10-27
      • 2020-02-02
      • 2020-07-02
      • 1970-01-01
      • 2020-10-30
      • 2017-12-13
      • 2014-10-21
      • 2021-05-13
      • 2011-09-25
      相关资源
      最近更新 更多