線マップエディタ、当初予定していた機能の実装完了!
昨日、「近接する複数線から処理対象を選択する」ところを実装しようとして
一通り、コーディングしたら、うまく動かなかった。
昨日、やろうとしたのは、
「複数の線の選択をマウスホイールで切り替える」ことだったのだけど
DXライブラリのホイール関連は、VC++ではうまく動くんだけど
C#では、何かが作りをしくじったのかホイール操作しても
関数が期待した値を返してこなかった。
じゃあ、ピクチャーボックスのホイールイベントを使おうかと思ったら
C#のピクチャーボックスには、デフォルトではマウスのホイールイベントが存在しない。
そこで、コードからマウスホイールイベントを関連付けたんだけど
今度は、コードでピクチャーボックスにフォーカスを設定しないと
ホイールイベントが発生しない・・・
フォーカスセットをして、早速動かすと
マウスホイールで期待した復帰値は戻ってくるものの
マウスホイールでピクチャーボックスのスクロールバーが動いてしまい
なんか、面倒なことになったので
今日、別の方法で線の切り替えをすることにしてみた。

こんな感じで複数の線が集中している箇所(ここではオレンジのマークのところ)を
マウスクリックすると、ポップアップメニューが出るようにした。
ここで「次の線へ」を選ぶと①→②→③→①と順番に線が切り替わり
「前の線へ」を選ぶと①→③→②→①と順番に切り替わる。
上の図だと、線の始点や終点が密集している所で動作しているが
もちろん、床の線と床にある壁の接点をクリックすれば
床の線と壁の線を切り替えて選択できる。
これで、一応、当初予定していた線マップエディタの機能は一通り実装できたZE!![]()
他に思いつく実装としては、修正内容を「元に戻す」とか
昨日の記事にも書いたように範囲選択してそこに含まれる線を対象に
移動や削除するってあたりだけど、
今のところは無くても困らないんじゃないかと思う。
体調が良くて集中力さえあれば、サクッと作れそうと思ったのだが
結局、半年くらい前から作ろうと思っていて
GW中に作り始めたあげく、海の日に完成って
時間がかかりすぎじゃね・・・![]()
まぁ、それでも、今回の3連休の成果としては、満足かも![]()
| 【固定リンク】 | 【コメント (0)】 | 【トラックバック (0)】
このエントリーへのリンク
トラックバック
この記事へのトラックバックの一覧です: 線マップエディタ、当初予定していた機能の実装完了!:


コメント
このブログの新着コメントをRSSリーダに登録する為のxml