« スマフォ非対応? | トップページ | ゴーストの再利用が出来ない »

2012年3月20日 (火)

メニューの表示

FlatTable のほとんどの機能はメニューを介して実行します。このメニューを表示する度に新たに作成していては、システム(特にメモリ)に負担が掛かるのが心配です。そこで、初めの考えでは、起動直後にメニューを作っておいて、必要な時に表示して、要らなくなったら非表示にするという方式にするつもりでした。

そのためには、メニューのZ軸順序を操作して最前面に表示する必要が有ります。しかし、SVG でのZ軸順序の操作方法が分かりません。もしかしたら、SVG では、Z軸順序の操作は出来ないのかも知れません。

やむをえず、起動直後に作っておいたメニューを、すぐに削除しておき、必要な時に appendChild() し、使い終わったら removeChild() することにしました。こうすれば、メニューは最前面に表示されることになります。 removeChild() したメニューがガベージコレクションで持って行かれないか気になるところですが、問題が発生しないことを期待することにします。

現在、実装済みのメニューは、球に関する次の2つです。

  • ゴーストの表示/非表示
  • 経路、ゴーストの削除

「SVG+JavaScript 版 FlatTable の試作品」で表示される画面の[ Ball ]をクリックすると上記2つのメニューが表示されます。この2つは経路が作成された状態でなければ意味を成しません。動作の確認は、まず、経路を作成してから行ってください(操作方法は「経路の作図-?-」を参考にしてください)。

Path_2 上記メニューのうち「経路、ゴーストの削除」は次のような動作になります(添付図参照)。操作対象として指定された球を「現行の球」と呼びます。基礎球か矢印球が現行の球の時「経路、ゴーストの削除」を実行すると、その経路が削除され、基礎球だけが残ります。ゴーストが現行の球の時「経路、ゴーストの削除」を実行すると、そのゴーストだけが削除され、その前後の球が経路で繋がります。

さて、予定している機能はまだまだ有りますが、今回の2つだけで巷の配置図ソフトと同程度の能力を備えたと言っても良いでしょう。実際、現時点で次のような配置図の作成が可能です(ただしPCのみ)。
12320a

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

« スマフォ非対応? | トップページ | ゴーストの再利用が出来ない »

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

コメント

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: メニューの表示:

« スマフォ非対応? | トップページ | ゴーストの再利用が出来ない »