У меня есть функция seat
, которая принимает несколько значений, 3 из которых используются для рисования кругов на холсте.
каждый круг - это переменная, названная в честь человека и содержащая значения из функции seat
.
У меня есть следующая функция, которую я использую для рисования отдельных кругов:
ctx.fillPerson = function(p){
this.fillStyle = p.fillStyle;
this.arc(p.centerX, p.centerY, p.radius, 0, 2*Math.PI, false);
this.fill();
}
это прекрасно работает, например, когда я делаю ctx.fillPerson(johnSmith);
, однако я создаю несколько групп людей в форме массива, и мне нужна функция для рисования людей в этих массивах.
У меня есть массив, содержащий переменные, упомянутые выше, например: var seatingOne = [johnSmith, joanSmith, bobJohnson, jillJohnson];
Тем не менее, я не могу понять, что функция работает правильно, я чувствую, что нахожусь на правильном пути, но мое ограниченное знание JavaScript сдерживает меня. Пока у меня есть это:
ctx.fillSeats = function(s){
for ( var i=0; i<s.length; ++i ){
ctx.beginPath();
ctx.fillPerson(indexOf(s));
}
}
Я думаю, что я прохожу массив и выполняю beginPath();
и ctx.fillPerson();
для каждого элемента массива. Я ДУМАЮ (?) indexOf
, если правильный инструмент использовать, но я не уверен, что это именно так и как именно получить желаемый результат.
Любая помощь очень ценится, и, пожалуйста, поправьте меня, если я что-то сказал неправильно (пока еще не все в порядке с языком;))
Спасибо