raingame
Version:
2D game framework
55 lines (54 loc) • 1.99 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var FileElement_1 = __importDefault(require("./FileElement"));
var Files = /** @class */ (function () {
function Files(files) {
this.total = 0;
this.loadedNumber = 0;
this.audios = [];
this.images = [];
var me = this;
this.total = files.length;
for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {
var iterator = files_1[_i];
if (/.(mp3|ogg)$/.test(iterator)) {
var audio = new Audio();
audio.addEventListener('load', function () {
me.loadedNumber++;
me.onload(me);
me.isReady();
});
var element = new FileElement_1.default(audio, '123');
this.audios.push(element);
audio.src = iterator;
}
else if (/.(jpg|png|gif|jpeg)$/.test(iterator)) {
var image = new Image();
image.addEventListener('load', function () {
me.loadedNumber++;
me.onload(me);
me.isReady();
});
var element = new FileElement_1.default(image, '123');
this.images.push(element);
image.src = iterator;
}
}
}
Files.prototype.onload = function (xhr) {
console.log(xhr.loadedNumber, xhr.total);
};
Files.prototype.onReady = function () {
console.log('The load of files is complete');
};
Files.prototype.isReady = function () {
if (this.total === this.loadedNumber) {
this.onReady();
}
};
return Files;
}());
exports.default = Files;