MTASCと戯れる その3 星の生成 詳細
星の形や色を実際に生成しているのは、draw_imageというメソッドだ。
function draw_image( c, t ) { var rgb = col(t)*0x10000 + col(t+Math.PI*2/3)*0x100 + col(t+Math.PI*4/3) c.lineStyle(2,rgb); //c.lineStyle(2,0x0000ff); var w = Stage.width/100 * 10; c.moveTo(-w,0); c.lineTo(w,0); c.moveTo(0,-w); c.lineTo(0,w); }
前半は色設定、後半が形の記述。引数のcはムービークリップオブジェクトで、tはよくわからないけど色指定に関連する。
rgbというのはいかにも色設定なんだけど、これを決めている式がやたらややこしい。実際のFlashをよおく見ると、円状に放出される星の色には規則性があるのがわかる。ややこしい式はこの規則性を生成するためだ。なんだか疲れてきたのでちゃんと読むのはやめてその次の行に注目しよう。lineStyleだ。数字と色が指定されている。lineのstyleだから数字は線の幅、rgbが線の色だろう。というわけで、ここの色指定を強引に0x0000ffとか決めうつと、ちゃんと全部の星が青くなった(コメントアウトしている部分)。
このメソッドの残りの部分はmoveToとlineToを繰り返して星("+")の形を描画しているようだ。