■マウスカーソルの強制移動

どんなに優れたソフトウェアでも、操作性が悪いと評価はガタ落ちする。かつてパソコンゲームにおける移動指定はテンキーが当たり前だったころ、あえて文字キーを移動用に設計した「こだわりのゲーム」があった。内容のほうは、後にファミコンにも移植されたアメリカ製某有名ゲームのパクリ(←キャラクタ以外は同一)だが、その是非はここでは問わない。しかし、まるで「ネコ踏んじゃった!」のピアノ演奏みたいにアクロバチックな指使いを強要されるとなると、とてもじゃないが遊ぶ前に意気消沈してしまうのだ。何度かトライしたが、結局はギブアップだった。

さすがに、近年はこんな妙なこだわりを持つゲームは見当たらなくなった。それどころか、制作側も「どうしたらより快適にプレイできるか?」を考えるようになっている。かのRPG制作ノウハウ伝授のためのテーマゲーム『おたすけ忍風伝』でさえ、とても細かな部分にまで気配りをしているのだ。

それは、マウスカーソルの親切強制移動のこと。つまり、コマンドボタンなどで意思決定がなされた際に、カーソルを次に移動しなければならない場所に、自動的に移動してくれるというものだ。選択肢があるので「パーフェクト!」とはいえないが、大半のケースではマウス操作が楽になるのは間違いない。といっても、マウスカーソルを自在に移動することさえできれば、そこから先は気配りする場所を選ぶだけだ。



まずは、上記の内容を宣言しておく。VBにはPoint型が用意されていないので、自分でタイプ宣言をしなければならない。後は、スクリーン座標をCposにセットして、一発コールでボン……というわけだ。もし、指定したい座標が特定フォーム内にある場合は、それをスクリーン座標に変換すればよい。例えば、Ninpo_1というフォームの特定座標(120,50)にマウスカーソルを移動したいなら、次のような具合だ。非常に簡単なので、ぜひアチコチで気配りをしてもらいたい。