« 選手の配置およびドラッグ | トップページ | 選手のプレイルートの作図(2) »

2016年9月 6日 (火)

選手のプレイルートの作図(1)

アメリカンフットボールのプレイ図ソフト LongDriver で選手の動きを示すプレイルートの作図機能(の一部)を実装しました。プレイ図のコード化は未実装のため、作図したプレイ図を LongDriver で表示させることは未だ出来ていません。代わりにキャプチャー画像を張っておきます。

Playdiagram01

プレイルートの作図は次のようにします。画面の上下に選手を表す○や▽が並んでいますが、これをダミーと呼ぶことにします。このダミーをクリックすると、フィールド上の同じ番号の選手が選択されます。そこで、フィールドの下側の水平バーをクリックするとプレイルート作成モードに入り、先ほど選択した選手のゴーストが生成されます。プレイルート作成モードでは、仮想マウスパッド上でドラッグ(注意)するとプレイルートの線が表示されます。必要な箇所までドラッグし、仮想マウスパッドをクリックすると再びゴーストが生成されます。これらを繰り返してプレイルートを作成してから先ほどの水平バーをクリックするとプレイルート作成モードが終了します。

(注意):ここでは、 mousedown した状態でマウスを動かすことをドラッグと呼んでいます。

仮想マウスパッドでは、クリックにより選手のゴーストを生成し、イベント mousedown -> mousemove -> mouseup により選手(およびゴースト)をドラッグしていますが、 mousedown -> mousemove -> mouseup の時にも click が発生するという問題が起きました。それで、これを回避するためにクリックは onclick を使わずに自前で判定することにしました。 mousedownmouseup の間にマウスが移動したかどうかをチェックすることでクリックを判定します。

\[ \xymatrix{ \ar[r]^<{mousedown} & *+[F:<3pt>]\txt{startDrag} \ar[rr]^{mousemove} \ar[rrd]_<{mouseup\\=click} & & *+[F:<3pt>]\txt{drag} \ar[d]^{mouseup} \\ & & & *+[F:<3pt>]\txt{endDrag} } \]

« 選手の配置およびドラッグ | トップページ | 選手のプレイルートの作図(2) »

フットボールのプレイ図ソフト」カテゴリの記事

コメント

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: 選手のプレイルートの作図(1):

« 選手の配置およびドラッグ | トップページ | 選手のプレイルートの作図(2) »