好的,这是一个很奇怪的问题,我不确定这是否是正确的SE网站,但我认为这是因为它与Web代码/浏览器的兼容性有关。如果不是,请在评论中告诉我,我将其移动。
因此,基本上,我在github上有我的游戏的源代码。我还在github页面上托管了游戏本身。(我相信)该游戏应该可以在Firefox和Chrome浏览器上运行。源代码没有任何一个浏览器独有。
该游戏在chrome上运行良好。但是,在Firefox上并非如此。没有资产(图像,声音)在github页面链接上显示/工作。奇怪的是:在我的本地文件系统上,当我用FF打开html文件时,它可以很好地运行/渲染资产。另外,当我下载项目的zip并尝试使用FF时,它也可以正常工作。为什么会这样呢?
(请注意,如果您想查看问题,请单击github页面链接,然后单击“开始游戏”,这将打开出现问题的游戏的权限)
编辑:忘了提一下,我在FF控制台中遇到的错误是NS_ERROR_NOT_AVAILABLE:
它导致第421行:这是g2d.drawImage(playerSprite, spriteLoc[0], spriteLoc[1]);
我在画布上绘制图像的地方。g2d应该是ctx btw,多数民众赞成在一个不好的Java习惯。
尝试更改资源的路径。您可以通过以下方式调用声音文件和图像文件:
laserSound = new Audio("resources\\Sounds\\laserblast.wav");
playerSprite.src = "resources\\Sprites\\Sprite.png";
您需要更改以下路径:
laserSound = new Audio("resources/Sounds/laserblast.wav");
playerSprite.src = "resources/Sprites/Sprite.png";
就是将这个\更改为/
按照当前的获取方式,Firefox找不到文件所在的位置。
另外,为什么不把它放在init();
JS文件的底部,只是为了确保JS解析器已经知道您将要调用的某些函数已定义,例如update()
和initBackground()
(这似乎不是问题,但是为了安全起见。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句