DynamicLineクラス

CATEGORY : Memo

2006年10月15日 02:19

ちょっと体調悪かったり、忙しかったりで、また更新が途絶えてしまいました…

最近良く使っている段々色が変わったり色が消えたりする線なのですが
(最初のぐるぐる回っている線とか、ピンポンゲームのボールの軌跡とか)
いちいちソース書くのがかなりめんどくさいのです。

線を複数描こうものなら、どれだけの手間か…と思って、線を描画する部分を頑張ってクラスでまとめてみました。

それを使って沢山線を描いてみたものです。

var lineA:dynamicline.DynamicLine = new dynamicline.DynamicLine(1,20,255,1,255,1,255,0,100,1);
var lineB:dynamicline.DynamicLine = new dynamicline.DynamicLine(2,10,255,1,255,1,255,0,100,1);
var lineC:dynamicline.DynamicLine = new dynamicline.DynamicLine(3,20,255,1,255,1,255,0,100,1);
var lineD:dynamicline.DynamicLine = new dynamicline.DynamicLine(4,10,255,1,255,1,255,0,100,1);
var lineE:dynamicline.DynamicLine = new dynamicline.DynamicLine(5,20,255,1,255,1,255,0,100,1);
var lineF:dynamicline.DynamicLine = new dynamicline.DynamicLine(6,10,255,1,255,1,255,0,100,1);
var lineG:dynamicline.DynamicLine = new dynamicline.DynamicLine(7,20,255,1,255,1,255,0,100,1);
var lineH:dynamicline.DynamicLine = new dynamicline.DynamicLine(8,10,255,1,255,1,255,0,100,1);

onEnterFrame = function(){
    lineA.DrawLine(_root._xmouse,_root._ymouse,10,0);
    lineB.DrawLine(_root._xmouse,_root._ymouse,10,10);
    lineC.DrawLine(_root._xmouse,_root._ymouse,0,10);
    lineD.DrawLine(_root._xmouse,_root._ymouse,-10,10);
    lineE.DrawLine(_root._xmouse,_root._ymouse,-10,0);
    lineF.DrawLine(_root._xmouse,_root._ymouse,-10,-10);
    lineG.DrawLine(_root._xmouse,_root._ymouse,0,-10);
    lineH.DrawLine(_root._xmouse,_root._ymouse,10,-10);
}

微妙に解説:
- DynamicLine(線のID,線が消えるまでのフレーム数,赤,どう変化するかのフラグ,青,フラグ,緑,フラグ,アルファ,フラグ);
- DrawLine(線の始点のX,Y,線の伸びる方向X,Y);

上のサンプルの中身はこれだけ。たった数行で簡単に線が描けちゃいます。

改良の余地がまだまだありそうなので、公開は今はしませんが、もし興味ある方がいましたら、一言コメントください。
ちゃんとコメント入れて、公開できるようにしますので。