javascript - 如何修复不在 phaser.js 中加载的图像
解决方案
我假设您已经设置了 Web 服务器。您是否查看了开发人员工具并检查是否有任何错误?在 Google Chrome 上,右键单击您的网页并点击检查。导航到控制台选项卡并查找错误。确保还记录 XMLHttpRequests,因为这些将指示对所述图像的请求何时已完成(只需单击记录 XMLHttpRequests 复选框)。
上述任何解决方案对您有用吗?对我来说,我使用了一个带有 Python 的简单 HTTP 服务器。我正确引用了我的图像,并且正确托管了我的网络服务器。使用开发人员工具时,没有任何错误消息。我把头撞在墙上好几个小时。由于某种原因,Phaser API 无法从网页中分辨出本地目录 ( http://192.168.0.2:8080/ ) 是什么。
我通过为我的图像使用以下路径解决了我的问题:
'http://192.168.0.2:8080/assets/sky.png'
其中 192.168.0.2 是我托管服务器的本地 IP 地址,而 8080 是我用于通信的端口
除了为每个图像添加冗长的文件路径之外,您还可以this.load.setBaseURL('http://192.168.0.2:8080')
结合已有的内容调用该函数。
例如,请参见以下代码:
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
physics: {
default: 'arcade',
arcade: {
gravity: { y: 200 }
}
},
scene: {
preload: preload,
create: create
}
};
var game = new Phaser.Game(config);
function preload ()
{
console.log('preload');
this.load.setBaseURL('http://192.168.0.2:8080');
this.load.image('bombP','bowmb.png');
this.load.image('einMary','/bowmb.png');
}
function create ()
{
console.log('create');
this.add.image(126, 119, 'bombP');
this.add.image(222,269,'einMary');
//var s = game.add.sprite(80,0,'einMary');
//s.rotation=0.219;
}
推荐阅读
- react-native - React Native:失败:构建失败并出现异常
- php - SQL 准备语句未运行?
- python - 正则表达式抛出错误:无法初始化模板变量
- android - Android 中蓝牙 LE 设备的绑定(即“配对设备”)的最大数量是多少?
- python - Python中的列表迭代
- php - hasManyThrough 是否忽略中间表上的全局范围?
- android - 如何删除 EditText 下的气味线?
- node.js - 使用 Angular 7 时无法在 expressJs 中使用 passpost-jwt 进行授权
- c++ - 如何计算数组内元素的位数?(不是数组的长度)并计算其位数的总和
- java - 如何在 Swagger API 定义中发送对象参数?