Ich habe meine Fiddle zurückgenommen, um mein Problem zu zeigen.mehrere Bilder in einer Schleife fabricjs
Ich habe einen Rectagle, dass ich Schleife bin, so gibt es einen anderen Namen mit mehreren Instanzen. Ich kann die Rechtecke hinzufügen und entfernen. Mein Problem ist, dass ich dieses Rechteck durch ein Bild ersetze, und ich kann es in die Schleife in Ordnung bringen, aber es wird nur 1 Bild entfernen und nicht alle. Ich denke, ich mache etwas falsch mit dem Namen, aber ich kann das Holz nicht durch die Bäume sehen.
var canvas = new fabric.Canvas('c', { selection: false });
var land = [];
var turret = [];
var wh=[];
var op=[];
//////////////////////////////////////////////////////////////////
// Outpost Level Dropmenu Select
$(document).ready(function() {$('#method').change(
function() {
var method = $('option:selected').val();
if (this.value == "0") {
for (var i=0; i<96; i++){
canvas.remove(land[i]);
canvas.remove(turret[i]);
canvas.remove(wh[i]);
canvas.remove(op[i]);
};
} else if (this.value == "1") {
//Clear All
for (var i=0; i<96; i++){
canvas.remove(land[i]);
canvas.remove(turret[i]);
canvas.remove(wh[i]);
};
//Add Buildings
for (var i=0; i<40; i++){
land[i] = new fabric.Rect({
fill: 'green',left: 25,top: 25,width: 25,height: 25,
perPixelTargetFind: true,hasBorders: false,hasControls:false, hasRotatingPoint: false,
});
canvas.add(land[i])
};
for (var i=0; i<6; i++){
turret[i] = new fabric.Rect({
fill: 'brown',left: 75,top: 25,width: 15,height: 15,
perPixelTargetFind: true,hasBorders: false,hasControls: false,hasRotatingPoint: false,
});
canvas.add(turret[i])
};
for (var i=0; i<3; i++){
fabric.Image.fromURL('http://www.ahoymearty.co.uk/baseplanner2/images/buildings/warehouse.png', function(myImgwh) {wh[i] = myImgwh.set({ left: 25, top: 75 ,width:25,height:25, hasControls: false, hasRoatatingPoint: false,stroke: 'blue',strokeWidth: 1,
});
canvas.add(wh[i]);
});
};
}
});
});
ty dafür. Ich habe auch die var i = 0 geladen, um i = o zu lassen, und es hat funktioniert – Wayne