我試圖從畫布上隨機繪製多個圖像。我不能找出一種方法來迭代數組,並繪製函數從for循環調用draw()。HTML5畫布中的多個隨機圖像
這是我
// Call Draw particles
for (var i = 0; i < particles.length; i++) {
particles[i].draw(i);
};
和平局()
Particle.prototype.draw = function(i) {
imgs = new Image();
if (i<20){
imgs.src = imgArray[1];
ctx.drawImage(imgs ,this.position.x + this.parallaxOffsetX, this.position.y + this.parallaxOffsetY);
}else if(i>20 && i<50){
imgs.src = imgArray[2];
ctx.drawImage(imgs ,this.position.x + this.parallaxOffsetX, this.position.y + this.parallaxOffsetY);
}else if(i>50 && i<100){
imgs.src = imgArray[3];
ctx.drawImage(imgs ,this.position.x + this.parallaxOffsetX, this.position.y + this.parallaxOffsetY);
}else{
imgs.src = imgArray[4];
ctx.drawImage(imgs ,this.position.x + this.parallaxOffsetX, this.position.y + this.parallaxOffsetY);
}
};
我知道我需要找出一種方法來imgArray循環不使用的if else,但我不知識?
在此先感謝..
編輯: 這裏是codepen演示codepen使用@mintychai建議
你的問題是隨機繪製圖像?如果是的話,爲什麼你不使用JavaScript中的隨機函數? https://www.w3schools.com/jsref/jsref_random.asp –