マウス操作とスクリーン座標 (1/4)
作成:2014-09-15 09:45
更新:2014-09-15 09:58
更新:2014-09-15 09:58
■マウスボタンを利用する
キーボードと並んで多用される入力デバイスといえば、「マウス」でしょう。マウスの利用も、前回キーボードの時に使った「Input」クラスを利用します。
まずは、マウスボタンについてです。マウスボタンは、Inputクラスにある以下の3つのメソッドを利用して状態をチェックすることができます。
・ボタンの押し下げ状態
・ボタンを押したかどうか
・ボタンを離したかどうか
引数にはすべてボタンを示す番号(整数)が指定されます。これは以下のように決められています。
0 左ボタン
1 右ボタン
2 中央ボタン
下に実際の利用例を挙げておきます。前回までと同様、シーンにCubeが1つ配置され、そのCubeにC#スクリプトが組み込まれている状態を想定してあります。シーンを実行するとCubeが表示されます。画面内でマウスの左ボタンを押すとCubeが黄色に変わりゆっくりと回転します。ボタンを離すと元の色に戻り静止します。
まずは、マウスボタンについてです。マウスボタンは、Inputクラスにある以下の3つのメソッドを利用して状態をチェックすることができます。
・ボタンの押し下げ状態
Bool 変数 = Input.GetMouseButton( 番号 );マウスボタンが押されているかどうかを調べるものです。引数には調べるボタンの番号を指定します。ボタンが押されていたらtrue、いなかったらfalseが返されます。
・ボタンを押したかどうか
Bool 変数 = Input.GetMouButtonDown( 番号 );
マウスボタンを押したかどうかを調べるものです。これはボタンを押した直後に呼び出されたときだけtrueが返り、以後は(ボタンが押されていてもいなくても)falseが返されます。つまり「ボタンを押した瞬間」をチェックするものです。・ボタンを離したかどうか
Bool 変数 = Input.GetMouseButtonUp( 番号 );
マウスボタンを離したかどうかを調べるものです。ボタンを離した直後に呼び出された時だけtrueが返され、それ以外はfalseが返されます。「ボタンを離した瞬間」をチェックするためのものです。引数にはすべてボタンを示す番号(整数)が指定されます。これは以下のように決められています。
0 左ボタン
1 右ボタン
2 中央ボタン
下に実際の利用例を挙げておきます。前回までと同様、シーンにCubeが1つ配置され、そのCubeにC#スクリプトが組み込まれている状態を想定してあります。シーンを実行するとCubeが表示されます。画面内でマウスの左ボタンを押すとCubeが黄色に変わりゆっくりと回転します。ボタンを離すと元の色に戻り静止します。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
using UnityEngine; using System.Collections; public class myscript : MonoBehaviour { Color c; void Start () { } void Update () { if (Input.GetMouseButton(0)){ transform.Rotate(1, 1, 1); } if (Input.GetMouseButtonDown(0)){ c = renderer.material.color; renderer.material.color = Color.yellow; } if (Input.GetMouseButtonUp(0)){ renderer.material.color = c; } } }
※関連コンテンツ