▼そのUnityの作業、依頼しませんか?
メソッド

【Unity】1分でわかる!マウス関連する3つのメソッド

Unityのマウス関連のメソッド
  • Unityでのマウス関連のメソッドを知りたい

という悩みを解決します。

GetMouseButtonDownマウスクリックしたときにtrueを返す
GetMouseButtonマウスクリックしている間にtrueを返す
GetMouseButtonUpマウスボタンから離れたときにtrueを返す

いきなりですが、マウスが左・右クリックされたときの処理を設定できるメソッドも参考になると思います。

では深くみていきましょう。

GetMouseButtonDown

 GetMouseButtonDownメソッド

マウスクリックされたときにtrueを返します。

スクリプト例

任意のオブジェクトにスクリプトがアタッチされているとします。そのスクリプトに以下のスクリプトを書きます。

スクリプト

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        // 左クリックしたときにX軸に移動
        if (Input.GetMouseButtonDown(0))
        {
            transform.Translate(3, 0, 0);
        }
    }
}

左クリックしたときにX軸にオブジェクトを移動するようにしてます。

GetMouseButtonDown(0)→左クリック時
GetMouseButtonDown(1)→右クリック時
GetMouseButtonDown(2)→中クリック時

()の中に入れる数字によって、左クリックなのか右クリックなのか中クリックなのか変化します。

GetMouseButton

GetMouseButtonメソッド

マウスクリックしている間にtrueを返します。

スクリプト例

任意のオブジェクトにスクリプトがアタッチされているとします。そのスクリプトに以下のスクリプトを書きます。

スクリプト

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        // 右クリックしたときにX軸に移動
        if (Input.GetMouseButton(1))
        {
            transform.Translate(0.05f, 0, 0);
        }
    }
}

右クリックしている間にX軸にオブジェクトを移動するようにしてます。

GetMouseButton(0)→左クリックしている最中
GetMouseButton(1)→右クリックしている最中
GetMouseButton(2)→中クリックしている最中

()の中に入れる数字によって、左クリックなのか右クリックなのか中クリックなのか変化します。

 

GetMouseButtonUp

UnityのGetMouseButtonUpメソッド

マウスボタンから離れたときにtrueを返します。

任意のオブジェクトにスクリプトがアタッチされているとします。そのスクリプトに以下のスクリプトを書きます。

スクリプト例

スクリプト

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test : MonoBehaviour
{
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        // 左クリックしたときにX軸に移動
        if (Input.GetMouseButtonUp(2))
        {
            transform.Translate(3, 0, 0);
        }
    }
}

中クリックから離れた瞬間にX軸にオブジェクトを移動するようにしてます。

GetMouseButtonUp(0)→左クリックから離れるとき
GetMouseButtonUp(1)→右クリックから離れるとき
GetMouseButtonUp(2)→中クリックから離れるとき

()の中に入れる数字によって、左クリックなのか右クリックなのか中クリックなのか変化します。

まとめ

GetMouseButtonDownマウスクリックしたときにtrueを返す
GetMouseButtonマウスクリックしている間にtrueを返す
GetMouseButtonUpマウスボタンから離れたときにtrueを返す

マウスが左・右クリックされたときの処理を設定できるメソッドも参考になると思います。

マウスクリック時の処理
【Unity】マウスが左・右クリックされたときの処理を設定できるメソッドUnityでマウスを押したときの処理を設定したいなぁ という悩みを解決します。それには「 Input.GetMouseButtonDown」メソッドを使います。右クリック・左クリックでもクリックされたときの処理を設定できます。...

以上さぎのみや(@saginomiya8)でした。SNSでシェアしてね( ・∇・) 明日からも一生無双でやったりましょう。

ABOUT ME
さぎのみや
さぎのみや
超書手。現在はUnityメディア「ユニシャー」の運営とゲーム開発がメインです。Unity、ライティング関係のお仕事お待ちしております。 >>詳しいプロフィール >>Amazonほしいものリスト
【Unity3D】新しいサンプルゲーム(チュートリアル)を作りました!!!
Unity有料サンプルゲーム

「Unityで3Dゲームを本格的に作っていきたい!」という人におすすめのチュートリアルとなっています。

画像のようなゲームの作り方を販売しています。色々と応用できるサンプルゲームとなっています。ぜひ、作ってみてください。

詳細
>>【Unity3Dサンプルゲーム・チュートリアル】「フリスビーを犬に届けよ!」の概要

>>BOOTHでこのチュートリアルを見る

【RT・フォローであなたのスキルが上がる】

シェアフォローする

さぎのみやのモチベが上がる

コンテンツの質が上がる

あなたの能力も上がる

あなたの
Twitterでのシェア

であなたの能力が上がります。

>>さぎのみやのツイッター(@saginomiya8)

 

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください