【マウス入力を取得したい】


 【目標】

 マウス入力の特長は何と言っても直感的に操作できることです。
 うまく管理できるようになれば、マウス操作だけのゲームも
 作ることができます。

 ウディタはマウスのクリック状態を常に監視しています。
 監視結果を変数に呼びだすと、その時点で
 クリックが押されているかを調べることができます。

 今回は、マウスで画面のどこかを左クリックするとしゃべるイベントを
 設定し、マウス入力の取得の仕方を習得します。
 このイベントの中身は、
 「左クリックが押されている間だけ信号を出し、
  その信号があるときだけ文章表示を起動する」
 で、このイベントを並列実行に設定することで、
 クリック状態の監視を常に行うようにしています。


 【手順】

【1】 イベントの作成

 「サンプルマップA」の適当な場所にイベントを作成し、
 ニワトリの画像を設定しておきます。

 やり方が分からない場合は、「新しいイベントを作ってみたい」の
 【1】〜【5】を参考にしてみてください。

【2】 起動条件

 まずは、起動条件を「並列実行」に変えておきましょう。
 起動条件は、イベント画像を設定するところのすぐ下にあります。
 今回行う「左クリックが押されているかどうか」は
 呼び出した時点しか見ませんので、常に検知して欲しければ
 並列実行でこのイベントを起動し続ける必要があります。

【3】 左クリック検知

 イベントウィンドウの右下にある、
 「■ コマンド入力ウィンドウ表示 ■」をクリックしてください。

 @タブを「6 変数操作+」に変更します。
 A変数の種類は「Self」をボタンで選択してください。
  プルダウンリストから「このイベント:Self0」を選んで、
  その右の代入演算子は「=」を選択してください。
 B次に、「その他」にラジオボタン(クリックすると、
  黒い点がそこに移動する丸いボタン)を合わせ、
  プルダウンリストから「マウス左クリック状態(平=0,押=1,新押=2)」を選択します。
 Cウィンドウ右下の「入力」ボタンを押してください。

 これで、「マウスの左クリックが押されているときに信号を出す」
 処理が出来ました。

【4】 条件分岐、文章表示

 次に、信号が出ていれば文章を表示するよう設定します。

 タブを「7 条件(変数)」に変更し、変数の種類は「Self」
 ボタンで選択してください。
 条件分岐の内容は3段あるうちの、上から1段目に
 「このイベント:Self0」が(数値)「1」「と同じ」を指定します。
 3段目の下にある「「上記以外の場合」を作成」の
 チェックは外して
おいてください。
 入力出来たら「入力」ボタンを押します。

【5】 条件分岐、文章表示

 最後に、先ほど作った分岐の中に文章入力を入れます。

 「◇分岐:【1】[このEvのセルフ変数0が 1と同じ]の場合↓」の中(空欄)に
 カーソルを合わせ、タブ「文章の表示」から
 「クリックされたよ!」という文章を「入力」してください。

 これで、クリックに反応するイベントコマンドは完成です。

【6】 確認

 では、テストプレイしてみましょう。
 画面のどこかをマウスでクリックして、
 「クリックされたよ!」と表示されたら成功です。
 お疲れ様でした!

 【余談】

・クリックできるボタンを作る
 マウス座標やクリック状態などの基本的な情報の取得コマンドは
 コマンドタブ「6 変数操作+」の「その他」にまとまっていますが、
 「ピクチャ番号」のところにも「マウスカーソル重なってる?(1=YES)」が
 あります。ピクチャ表示とこれを組み合わせると、クリックして
 押せるボタンが作れますよ。

・マウスカーソルの現在画面座標の求め方
 システム変数71および72に、それぞれマウスのX位置とY位置が
 常に入っています。これは変数操作+でも求められる情報ですが、
 こちら(システム変数)を使うと手間が省けます。

・文章や選択肢をマウスで動かす
 システム変数の73には、
 「マウスクリックで、文章と選択肢を入力できるモードのオン/オフ」
 ができる変数が入っています。これをオンにしておくと、
 マウスクリックで文章表示を次に進めたり、選択肢を選んで決定したり
 といったことができるようになります。オンにしたければ、
 ゲーム起動時などに変数操作で切り替えておく必要があります。


<執筆者:ウディタ公式ガイド執筆コミュ。>


【改訂履歴】
 Ver1.00 2013/12/05 新規作成

【←にフレームが表示されていない方はここをクリック】