Javascript 开发文件夹中的Phaser 3图像?
下面是一个非常基本的Phaser 3示例,但问题是Javascript 开发文件夹中的Phaser 3图像?,javascript,typescript,phaser-framework,Javascript,Typescript,Phaser Framework,下面是一个非常基本的Phaser 3示例,但问题是dist文件夹只包含一个bundle.js文件,所有资产仍然从src文件夹加载 文件夹结构: dist - bundle.js src assets - bmo.png scenes - game-scene.ts 加载代码: export class GameScene extends Phaser.Scene { constructor() { super({key: "GameScene"})
dist
文件夹只包含一个bundle.js文件,所有资产仍然从src
文件夹加载
文件夹结构:
dist
- bundle.js
src
assets
- bmo.png
scenes
- game-scene.ts
加载代码:
export class GameScene extends Phaser.Scene {
constructor() {
super({key: "GameScene"});
}
preload(): void {
this.load.image('bmo', './src/assets/bmo.png');
}
}
但是现在图像是从src
文件夹加载的!这不对,是吗?
如何导出游戏,包括html文件和资产文件
目前我使用
npm-run-dev
运行webpack来测试游戏。尝试使用文件加载器
进行webpack测试
$npm安装文件加载器--保存开发人员
添加文件加载器设置您的网页配置,如:
module.exports={
模块:{
规则:[
{
测试:/\(png | jpg | gif)$/,
使用:[
{
加载器:“文件加载器”,
选项:{},
},
],
},
],
},
};
然后,您可以在TypeScript文件中导入该文件,如下所示:
从“/src/assets/bmo.png”导入img代码>
如果您对Webpack中的设置选项感到困惑,在中有很多示例。这是您的TypeScript文件的相对路径,但可能有一个编译步骤,您可以从public
或dist
这样的文件夹为站点提供服务。如果您没有通过webpack
等将资产绑定到该目录,请确保您可以从服务位置访问资产。谢谢,我编辑了这个问题。图像现在被找到了,但游戏引用src
文件夹来查找图像对我来说似乎很奇怪。谢谢,混淆来自使用示例项目,但显然这并不意味着要实际导出游戏。如果它是一个基本的演示,可能不会。我知道这不是TS,但已经有文件加载设置。如果你检查他们的网页设置,你可以看到它是如何准确设置的。很抱歉,它还没有工作。当我导入图像时,我现在得到了找不到模块'/src/assets/bmo.png'
。我尝试过各种不同的路径。我的路径自动完成说明路径是正确的<代码>文件加载器
也不会复制任何图像。还有一个问题,为什么html
文件位于根目录中?那不应该也在dist
中吗?我看过样板,但那完全不同。。。