2011-07-22 7 views
0

私はseatの値をとり、その内の3つはキャンバスに円を描くために使用されます。配列から複数のアイテムを(キャンバスで)描画する関数

各サークルは、人の後に名前が付けられ、seat関数の値を含むvarです。

私は、個々の円を描画するために使用し、以下の機能を持っている:私は、例えば、ctx.fillPerson(johnSmith);は、しかし、私がアレイ状に人々の複数のグループを作成していないと私は必要なときに

 
       ctx.fillPerson = function(p){ 
        this.fillStyle = p.fillStyle; 
        this.arc(p.centerX, p.centerY, p.radius, 0, 2*Math.PI, false); 
        this.fill(); 
       } 

これは素晴らしい作品これらの配列に人を描画する関数です。

私はこのような上記の変数含む配列があります。しかし、私は、関数の権利を取得するように見えることはできませんが、私は正しい軌道に乗っていますように私は感じるが、私の限られたJavaScriptの知識があるvar seatingOne = [johnSmith, joanSmith, bobJohnson, jillJohnson];

を私を抱きしめてこれまでのところ私はこれを持っている:

  ctx.fillSeats = function(s){ 
       for (var i=0; i<s.length; ++i){ 
        ctx.beginPath(); 
        ctx.fillPerson(indexOf(s)); 
       } 
      } 

私の思考は、私は、各配列項目のためbeginPath();ctx.fillPerson();配列をステップ実行し、実行することです。私はそれが正しいかどうか確信しています、そして、望みの結果を得る方法を正確に知っていれば、私は(?)indexOfと思っています。

すべてのヘルプははるかに高く評価し、私が不適切に何かを言ったなら、私を修正してくださいされる(どちらかかなりまだすべての専門用語にないヒップ;))

おかげ

+0

あなたは 'indexOf(s)'の代わりに 's [i]'を使いたいと思いますか? – nwellcome

+0

これはおそらく正しいと私は変更を加えたが、 'ctx.fillSeats(myArray);を使用しても何も描画されていない; – tehaaron

+0

これは正しいと判明した、私の誤植は非難された。ありがとうございました – tehaaron

答えて

1

ctx.fillPerson(S [i])と;

各ループのパスを終了する必要がある場合は、私の頭の上から知りません。

+0

私はこの変更を行いましたが、 'ctx.fillSeats(myArray);を使用してもまだ何も描画していません;'私は 'ctx.fillPerson(myVar);を'その前に 'ctx.beginPath();'があり、うまくいきました。 – tehaaron

+0

for(var i = 0、 ' - >' for(var i = 0; 'ありがとう! – tehaaron

関連する問題