« 経路の作図 -3- | トップページ | 予定している機能 »

2012年3月 7日 (水)

経路の作図 -4-

作成した経路は削除することが出来ます。経路の描き直しの場合は基礎球(*)をクリックした後、長クッションの木枠をクリックすると、それまでの経路が消えて新たな作図モードに入ります。また、書き直しではなく、経路を削除するだけの操作は、そのユーザーインターフェースをこれから実装しますが、削除のルーチンは既に出来ています。

(*): ゴーストや矢印球の元となっている球を基礎球と呼ぶことにします。

経路削除のコードは次の通りです。


function delPath(baseBall, flag){
    var ball = baseBall.next;
    var arrow = baseBall.arrow;
    for (; ball != arrow; ball = ball.next){
        flattable.removeChild(ball);
    }
    baseBall.nGhost = 0;
    if (flag){        // (1)
        flattable.removeChild(arrow);
        baseBall.arrow = null;
        flattable.removeChild(baseBall.path);        // (2)
        baseBall.path = null;
        baseBall.next = null;
    } else {        // (3)
        arrow.x = baseBall.x;
        arrow.y = baseBall.y;
        arrow.setAttribute("transform",
            "translate(" + arrow.x + "," + arrow.y + ")");
        baseBall.next = arrow;
        arrow.prev = baseBall;
        baseBall.path.setAttribute("points", "");        // (4)
    }

    return ball;
}
delPath() のパラメータ flag は、true の時(1)経路の削除、flase の時(3)経路の描き換えを意味します。削除の時は pathremoveChild() しています(2)が、描き換えの時は path"points" を空文字にする(4)ことで、節点の無い状態にしています。

--------

ここまでの動作およびコードは、本ブログのサイドバー「Link」の「SVG+JavaScript 版 FlatTable の試作品」で確認できます。

« 経路の作図 -3- | トップページ | 予定している機能 »

ビリヤードの配置図ソフト」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/584699/54165038

この記事へのトラックバック一覧です: 経路の作図 -4-:

« 経路の作図 -3- | トップページ | 予定している機能 »