функция для рисования (холста) нескольких элементов из массива - PullRequest
0 голосов
/ 23 июля 2011

У меня есть функция 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, если правильный инструмент использовать, но я не уверен, что это именно так и как именно получить желаемый результат.

Любая помощь очень ценится, и, пожалуйста, поправьте меня, если я что-то сказал неправильно (пока еще не все в порядке с языком;))

Спасибо

1 Ответ

1 голос
/ 23 июля 2011

ctx.fillPerson (с [I]);

Я не знаю по макушке, нужно ли вам заканчивать путь в каждом цикле.

...