1
я в настоящее время рисования элементов на холсте:одна функции для нескольких элементов
var head = new Kinetic.Ellipse({
x: stage.width()/2,
y: 100,
radius: {
x: 50,
y: 60
},
fill: '#DDDDDD',
stroke: 'black',
strokeWidth: 2
});
var neck = new Kinetic.RegularPolygon({
x: stage.width()/2,
y: 180,
sides: 4,
radius: 70,
fill: '#DDDDDD',
stroke: 'black',
strokeWidth: 2
});
layer.add(neck);
layer.add(head);
и изменить цвет этих элементов при нажатии или потрогать, но я буду иметь много элементов на экране и не хочу одинаковое количество функций для изменения каждого из них.
Есть ли способ, чтобы сказать, объединить два ниже, чтобы быть одной функцией, но эффект двух выше.
head.on('touchstart, mousedown', function() {
var current = this.getFill();
var fill = "";
switch (current) {
case "#DDDDDD":
fill = "#FFC926";
break;
case "#FFC926":
fill = "#FF0000";
break;
case "#FF0000":
fill = "#000000";
break;
default:
fill= "#DDDDDD";
}
this.setFill(fill);
layer.draw();
});
neck.on('touchstart, mousedown', function() {
var current = this.getFill();
var fill = "";
switch (current) {
case "#DDDDDD":
fill = "#FFC926";
break;
case "#FFC926":
fill = "#FF0000";
break;
case "#FF0000":
fill = "#000000";
break;
default:
fill= "#DDDDDD";
}
this.setFill(fill);
layer.draw();
});
совершенны спасибо – odd