libro
www.tuyano.com
C#ではじめるUnityプログラミング入門

マウス操作とスクリーン座標 (1/4)

作成:2014-09-15 09:45
更新:2014-09-15 09:58

■マウスボタンを利用する

キーボードと並んで多用される入力デバイスといえば、「マウス」でしょう。マウスの利用も、前回キーボードの時に使った「Input」クラスを利用します。

まずは、マウスボタンについてです。マウスボタンは、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が黄色に変わりゆっくりと回転します。ボタンを離すと元の色に戻り静止します。

※プログラムリストが表示されない場合

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;
        }
    }
}

※関連コンテンツ

「C#ではじめるUnityプログラミング入門」に戻る