Phaser Game实例错误:未捕获的ReferenceError:未定义Phaser

时间:2017-12-19 01:30:54

标签: javascript html phaser-framework

我是一个相对较新的JS开发人员,如果你甚至可以打电话给我,我正在努力学习Phaser框架。无论如何,我有大多数人称之为'基本Phaser设置',但是当我在浏览器(Chrome)中运行我的程序时,控制台会在第1行引发错误,Uncaught ReferenceError: Phaser is not defined,这是我创建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);

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

这是一个非常古老的话题,但是当它出现在Google的第一页上并且没有答案时,我会回答。 :)

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

您的浏览器应显示

  • http://localhost/phaser3-tutorial-src/part3.html(或与此类似的内容)

但是

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

我希望这会对外面的人有所帮助!祝您相位愉快。