我有一個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
如果使用正確的工具,但我不確定它是否確切地如何得到想要的結果。
任何幫助深表感謝,並請糾正我,如果我說什麼不當(未臀部到所有的行話相當,但無論;))
感謝
我覺得你想要'[i]'而不是'indexOf(s)'? – nwellcome
這可能是正確的,我做了改變,但仍然沒有任何東西正在繪製,當我使用'ctx.fillSeats(myArray);' – tehaaron
這原來是正確的,我的錯誤是怪。謝謝 – tehaaron