JavaScript使用preloadJS预加载图像
我正在用HTML5和JS制作一个骰子游戏。现在我需要预装骰子图像。我正在使用JS库。因此,我的问题是,如何在不为每个骰子编写相同代码的情况下预加载两个或多个清单?请看我的例子 我的清单文件是:骰子二、骰子三、骰子四、骰子五、骰子六。 *我一个骰子有50张图像*JavaScript使用preloadJS预加载图像,javascript,image,html,canvas,preload,Javascript,Image,Html,Canvas,Preload,我正在用HTML5和JS制作一个骰子游戏。现在我需要预装骰子图像。我正在使用JS库。因此,我的问题是,如何在不为每个骰子编写相同代码的情况下预加载两个或多个清单?请看我的例子 我的清单文件是:骰子二、骰子三、骰子四、骰子五、骰子六。 *我一个骰子有50张图像* var n=0; var Dicergx=45//骰子的X注册点 var-dicergy=45//骰子的Y注册点 对于(变量i=0;i 0){ 加载另一个(); } } 函数loadOther(){ var item1=dice_twos
var n=0;
var Dicergx=45//骰子的X注册点
var-dicergy=45//骰子的Y注册点
对于(变量i=0;i 0){
加载另一个();
}
}
函数loadOther(){
var item1=dice_twos.shift();
手荷载(第1项);
}
//文件完整处理程序
函数handleFileLoad(事件1){
dice_1[n]=新的createjs.Bitmap(event1.src);
骰子1[n].name=('dice'+(n+1));
dice_1[n].regX=(diceRegX-5);
dice_1[n].regY=(diceRegY-5);
骰子1[n].x=(canvas.width+80);
骰子1[n].y=(canvas.height/2);
n++;
}
我试图将另一个参数传递给handleFileLoad函数,但似乎不起作用。任何帮助都将不胜感激。谢谢大家,这就是我所需要的解决方案。我希望这将有助于某人。。。干杯
var dice_twos = new Array();
var dice_threes = new Array();
var dice_fours = new Array();
var dice_fives = new Array();
var dice_sixes = new Array();
var dice_1 = new Array();
var dice_2 = new Array();
var dice_3 = new Array();
var dice_4 = new Array();
var dice_5 = new Array();
var dice_6 = new Array();
var i = 0;
var n = 0;
var item1;
var item2;
var item3;
var item4;
var item5;
var item6;
for (var i = 1; i <= 50; i++) {
dice_twos.push({ src: "Assets/DiceImages/TWO_Main." + i + ".png", id: "dice" + i, reelImg: false });
dice_threes.push({ src: "Assets/DiceImages/THREE_Main." + i + ".png", id: "dice" + i, reelImg: false });
dice_fours.push({ src: "Assets/DiceImages/FOUR_Main." + i + ".png", id: "dice" + i, reelImg: false });
dice_fives.push({ src: "Assets/DiceImages/FIVE_Main." + i + ".png", id: "dice" + i, reelImg: false });
dice_sixes.push({ src: "Assets/DiceImages/SIX_Main." + i + ".png", id: "dice" + i, reelImg: false });
}
}
// Create a preloader. There is no manfest added to it up-front, we will add items on-demand.
preload = new createjs.PreloadJS();
preload.onFileLoad = handleFileLoad;
preload.setMaxConnections(5);
loadAll();
}
function stop() {
if (preload != null) { preload.close(); alert("preloader closed..."); }
}
function loadAll() {
while (dice_ones.length > 0) {
loadAnother();
}
}
function loadAnother() {
// Get the next manifest item, and load it
item1 = dice_ones.shift();
item2 = dice_twos.shift();
item3 = dice_threes.shift();
item4 = dice_fours.shift();
item5 = dice_fives.shift();
item6 = dice_sixes.shift();
handleFileLoad(item1);
}
// File complete handler
function handleFileLoad(event1) {
dice_1[n] = new createjs.Bitmap(event1.src);
dice_1[n].name = ('dice' + (n + 1));
dice_1[n].regX = (diceRegX - 5);
dice_1[n].regY = (diceRegY - 5);
dice_1[n].x = (canvas.width + 80);
dice_1[n].y = (canvas.height / 2);
dice_1[n].in_holder = (-1);
dice_2[n] = new createjs.Bitmap(item2.src);
dice_2[n].name = ('dice' + (n + 1));
dice_2[n].regX = (diceRegX - 5);
dice_2[n].regY = (diceRegY - 5);
dice_2[n].x = (canvas.width + 80);
dice_2[n].y = (canvas.height / 2);
dice_2[n].in_holder = (-1);
dice_3[n] = new createjs.Bitmap(item3.src);
dice_3[n].name = ('dice' + (n + 1));
dice_3[n].regX = (diceRegX - 5);
dice_3[n].regY = (diceRegY - 5);
dice_3[n].x = (canvas.width + 80);
dice_3[n].y = (canvas.height / 2);
dice_3[n].in_holder = (-1);
dice_4[n] = new createjs.Bitmap(item4.src);
dice_4[n].name = ('dice' + (n + 1));
dice_4[n].regX = (diceRegX - 5);
dice_4[n].regY = (diceRegY - 5);
dice_4[n].x = (canvas.width + 80);
dice_4[n].y = (canvas.height / 2);
dice_4[n].in_holder = (-1);
dice_5[n] = new createjs.Bitmap(item5.src);
dice_5[n].name = ('dice' + (n + 1));
dice_5[n].regX = (diceRegX - 5);
dice_5[n].regY = (diceRegY - 5);
dice_5[n].x = (canvas.width + 80);
dice_5[n].y = (canvas.height / 2);
dice_5[n].in_holder = (-1);
dice_6[n] = new createjs.Bitmap(item6.src);
dice_6[n].name = ('dice' + (n + 1));
dice_6[n].regX = (diceRegX - 5);
dice_6[n].regY = (diceRegY - 5);
dice_6[n].x = (canvas.width + 80);
dice_6[n].y = (canvas.height / 2);
dice_6[n].in_holder = (-1);
n++;
}
var dice_twos=new Array();
var dice_threes=新数组();
var dice_fours=新数组();
var dice_fives=新数组();
var dice_sixes=新数组();
var dice_1=新数组();
var dice_2=新数组();
var dice_3=新数组();
var dice_4=新数组();
var dice_5=新数组();
var dice_6=新数组();
var i=0;
var n=0;
风险值项目1;
var项目2;
var项目3;
var项目4;
var项目5;
var项目6;
对于(变量i=1;i 0){
加载另一个();
}
}
函数loadOther(){
//获取下一个清单项,并加载它
item1=dice_one.shift();
item2=骰子2.shift();
item3=骰子三个移位();
item4=骰子四个移位();
item5=骰子五个。shift();
item6=dice_sixes.shift();
手荷载(第1项);
}
//文件完整处理程序
函数handleFileLoad(事件1){
dice_1[n]=新的createjs.Bitmap(event1.src);
骰子1[n].name=('dice'+(n+1));
dice_1[n].regX=(diceRegX-5);
dice_1[n].regY=(diceRegY-5);
骰子1[n].x=(canvas.width+80);
骰子1[n].y=(canvas.height/2);
骰子1[n]。在骰子座中=(-1);
dice_2[n]=新的createjs.Bitmap(item2.src);
骰子2[n].name=('dice'+(n+1));
dice_2[n].regX=(diceRegX-5);
dice_2[n].regY=(diceRegY-5);
骰子2[n].x=(canvas.width+80);
骰子2[n].y=(canvas.height/2);
骰子2[n]。在骰子座中=(-1);
dice_3[n]=新的createjs.Bitmap(item3.src);
骰子3[n].name=('dice'+(n+1));
dice_3[n].regX=(diceRegX-5);
骰子3[n].regY=(骰子-5);
骰子3[n].x=(canvas.width+80);
骰子3[n].y=(canvas.height/2);
骰子3[n]。在骰子座中=(-1);
dice_4[n]=新的createjs.Bitmap(item4.src);
骰子4[n].name=('dice'+(n+1));
dice_4[n].regX=(diceRegX-5);
骰子4[n].regY=(骰子-5);
骰子4[n].x=(canvas.width+80);
骰子4[n].y=(canvas.height/2);
骰子4[n]。在骰子座中=(-1);
dice_5[n]=新的createjs.Bitmap(item5.src);
骰子5[n].name=('dice'+(n+1));
dice_5[n].regX=(diceRegX-5);
骰子5[n].regY=(骰子-5);
骰子5[n].x=(canvas.width+80);
骰子5[n].y=(canvas.height/2);
骰子5[n]。在骰子座中=(-1);
dice_6[n]=新的createjs.Bitmap(item6.src);
骰子6[n].name=('dice'+(n+1));
dice_6[n].regX=(diceRegX-5);
骰子6[n].regY=(骰子-5);
骰子6[n].x=(canvas.width+80);
骰子6[n].y=(canvas.height/2);
骰子6[n]。在骰子座中=(-1);
n++;
}
您的代码没有多大意义。请张贴所有相关部分。有什么不合理?dice_1是一个数组,我将重新加载的图像放入其中。什么是i
?什么是n
?什么是diceRegX?等等…现在请看一下代码…这样更好,谢谢:)
var dice_twos = new Array();
var dice_threes = new Array();
var dice_fours = new Array();
var dice_fives = new Array();
var dice_sixes = new Array();
var dice_1 = new Array();
var dice_2 = new Array();
var dice_3 = new Array();
var dice_4 = new Array();
var dice_5 = new Array();
var dice_6 = new Array();
var i = 0;
var n = 0;
var item1;
var item2;
var item3;
var item4;
var item5;
var item6;
for (var i = 1; i <= 50; i++) {
dice_twos.push({ src: "Assets/DiceImages/TWO_Main." + i + ".png", id: "dice" + i, reelImg: false });
dice_threes.push({ src: "Assets/DiceImages/THREE_Main." + i + ".png", id: "dice" + i, reelImg: false });
dice_fours.push({ src: "Assets/DiceImages/FOUR_Main." + i + ".png", id: "dice" + i, reelImg: false });
dice_fives.push({ src: "Assets/DiceImages/FIVE_Main." + i + ".png", id: "dice" + i, reelImg: false });
dice_sixes.push({ src: "Assets/DiceImages/SIX_Main." + i + ".png", id: "dice" + i, reelImg: false });
}
}
// Create a preloader. There is no manfest added to it up-front, we will add items on-demand.
preload = new createjs.PreloadJS();
preload.onFileLoad = handleFileLoad;
preload.setMaxConnections(5);
loadAll();
}
function stop() {
if (preload != null) { preload.close(); alert("preloader closed..."); }
}
function loadAll() {
while (dice_ones.length > 0) {
loadAnother();
}
}
function loadAnother() {
// Get the next manifest item, and load it
item1 = dice_ones.shift();
item2 = dice_twos.shift();
item3 = dice_threes.shift();
item4 = dice_fours.shift();
item5 = dice_fives.shift();
item6 = dice_sixes.shift();
handleFileLoad(item1);
}
// File complete handler
function handleFileLoad(event1) {
dice_1[n] = new createjs.Bitmap(event1.src);
dice_1[n].name = ('dice' + (n + 1));
dice_1[n].regX = (diceRegX - 5);
dice_1[n].regY = (diceRegY - 5);
dice_1[n].x = (canvas.width + 80);
dice_1[n].y = (canvas.height / 2);
dice_1[n].in_holder = (-1);
dice_2[n] = new createjs.Bitmap(item2.src);
dice_2[n].name = ('dice' + (n + 1));
dice_2[n].regX = (diceRegX - 5);
dice_2[n].regY = (diceRegY - 5);
dice_2[n].x = (canvas.width + 80);
dice_2[n].y = (canvas.height / 2);
dice_2[n].in_holder = (-1);
dice_3[n] = new createjs.Bitmap(item3.src);
dice_3[n].name = ('dice' + (n + 1));
dice_3[n].regX = (diceRegX - 5);
dice_3[n].regY = (diceRegY - 5);
dice_3[n].x = (canvas.width + 80);
dice_3[n].y = (canvas.height / 2);
dice_3[n].in_holder = (-1);
dice_4[n] = new createjs.Bitmap(item4.src);
dice_4[n].name = ('dice' + (n + 1));
dice_4[n].regX = (diceRegX - 5);
dice_4[n].regY = (diceRegY - 5);
dice_4[n].x = (canvas.width + 80);
dice_4[n].y = (canvas.height / 2);
dice_4[n].in_holder = (-1);
dice_5[n] = new createjs.Bitmap(item5.src);
dice_5[n].name = ('dice' + (n + 1));
dice_5[n].regX = (diceRegX - 5);
dice_5[n].regY = (diceRegY - 5);
dice_5[n].x = (canvas.width + 80);
dice_5[n].y = (canvas.height / 2);
dice_5[n].in_holder = (-1);
dice_6[n] = new createjs.Bitmap(item6.src);
dice_6[n].name = ('dice' + (n + 1));
dice_6[n].regX = (diceRegX - 5);
dice_6[n].regY = (diceRegY - 5);
dice_6[n].x = (canvas.width + 80);
dice_6[n].y = (canvas.height / 2);
dice_6[n].in_holder = (-1);
n++;
}