用于从数组中绘制(画布)多个项目的函数

时间:2011-07-22 20:44:00

标签: javascript html5 canvas draw

我有一个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 个答案:

答案 0 :(得分:1)

ctx.fillPerson(S [1]);

如果你需要结束每个循环的路径,我不知道我的头脑。