Project1
标题: 判断某文件是否存在,用条件分歧的脚本怎么写? [打印本页]
作者: CCD0645 时间: 2020-6-28 03:15
标题: 判断某文件是否存在,用条件分歧的脚本怎么写?
例如,判断某个文件名的图片是否存在,存在则显示,不存在则跳过。
作者: 开关关 时间: 2020-6-28 05:23
我可能会用这段代码来实现判断文件是否存在:
require('fs').existsSync('img/animations/Absorb.png');
require('fs').existsSync('img/animations/Absorb.png');
但是对于1楼所描述,遇到不存在的图片就跳过的效果,我认为另一个方法实现得更加简便。方法是让显示图片命令遇到不存在的图片时不报错。
要实现图片缺失却不报错,可以试试下面这个插件:
来源:https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/ThroughFailedToLoad.js
插件本体
这样一来,就可以在事件执行内容中随心所欲地显示图片,遇到不存在的图片也不会报错了。这个方法省去了写条件分歧的工作量。
作者: fux2 时间: 2020-6-28 08:40
给bitmap加一坨函数
Bitmap.prototype.setErrorListener = function(listner) {
if (!this.isError() && this._image) {
this._image.removeEventListener('error', this._errorListener);
this._image.addEventListener('error', this._errorListener = listner);
} else {
listner(this);
}
};
Bitmap.prototype.setErrorListener = function(listner) {
if (!this.isError() && this._image) {
this._image.removeEventListener('error', this._errorListener);
this._image.addEventListener('error', this._errorListener = listner);
} else {
listner(this);
}
};
测试
var callback = function() {
console.log('8存在');
};
var bitmap = ImageManager.loadPicture("test");
bitmap.setErrorListener(callback.bind(this));
var callback = function() {
console.log('8存在');
};
var bitmap = ImageManager.loadPicture("test");
bitmap.setErrorListener(callback.bind(this));
当然,这个方法是异步的,不一定能立刻获得结果
所以一般加一个addLoadListener来确认是否成功
作者: moonyoulove 时间: 2020-6-28 08:46
但以遊戲開發的角度,什麼情況會出現,圖片資源存在的不肯定呢?會用到,你就會放,他就該在
因為fs是node.js的模組,打包的方式不支援就不能用
作者: yayapipifly 时间: 2020-6-28 09:44
耶,收藏
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |