processingjsキャンバス要素のプリローダーをどのように実装しますか?
2 つのケース - アセットはロードされていますが、js はまだビューを計算/レンダリングしています。アセットがロードされていません
PS 誰かが processingjs タグを作成してください! 担当者 lt 1500 のユーザーはまだそれを行うことができません :(
processingjsキャンバス要素のプリローダーをどのように実装しますか?
2 つのケース - アセットはロードされていますが、js はまだビューを計算/レンダリングしています。アセットがロードされていません
PS 誰かが processingjs タグを作成してください! 担当者 lt 1500 のユーザーはまだそれを行うことができません :(
この非常に古いスニペットが役立つ場合があります。すべての画像をロードした後、コールバックが呼び出されます。低解像度または高解像度の写真をロードするために、フォルダー パラメータが使用されました。
pics = {
'Trans100' : "trans100.png",
'Trans101' : "trans101.png",
'TransPanel' : "transPanel.png"
}
function oAttrs(o) { var a, out = ""; for (a in o){ out += a + " ";} return trim(out);}
function imageLoader(pics, folder, onready){
this.nextPic = 0;
this.pics = pics;
this.folder = folder;
this.names = oAttrs(pics).split(" ");
this.onReady = onready;
this.loadNext();
}
imageLoader.prototype.loadNext = function (){
if (this.nextPic === this.names.length) {
this.onReady();
} else {
this.loadImage(this.pics[this.names[this.nextPic]]);
}
};
imageLoader.prototype.loadImage = function (file){
this.nextPic += 1;
var pic = new Image();
pic.onload = this.loadNext.bind(this);
pic.onerror = function(){console.error("ERROR: " + file);};
pic.src = this.folder + file;
};
// example:
new imageLoader(pics, "images", function(){
console.log("Images loaded");
})