【Unity】カーソルを表示・非表示するなどの制御を行う【スクリプト例あり】

// カーソル表示
Cursor.visible = true;
// カーソル非表示
Cursor.visible = false;

// カーソルを自由に動かせる
Cursor.lockState = CursorLockMode.None;
// カーソルを画面内で動かせる
Cursor.lockState = CursorLockMode.Confined;
// カーソルを画面中央にロックする
Cursor.lockState = CursorLockMode.Locked;

Unityでカーソルの表示や画面を制御するためには、上のようなスクリプトを使う。では説明していく。

目次

【Unity】カーソルを表示・非表示するなどの制御を行う

現在の状況

Unityでカーソルを表示・非表示するなどの制御をする
  • 空のオブジェクトにスクリプトがついている

空のオブジェクトじゃなくても良い。なんらかのオブジェクトにスクリプトがついててください。そこに記述していく。

カーソルを非表示にする

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

public class CursorController : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Cursor.visible = false;
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}
Cursor.visible = false;カーソルを非表示

このままゲームを実行すると、カーソルが表示されない。

カーソルを中央に固定&非表示
→Escapeキーを押したら、カーソルが自由に動ける&表示

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

public class CursorController : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Cursor.visible = false;
        Cursor.lockState = CursorLockMode.Locked;
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            Cursor.visible = true;
            Cursor.lockState = CursorLockMode.None;
        }
    }
}
Cursor.visible = false;カーソルを非表示
Cursor.lockState = CursorLockMode.Locked;カーソルを画面中央にロックする
Cursor.visible = true;カーソルを表示
Cursor.lockState = CursorLockMode.None;カーソルを自由に動かせる

最初はカーソルを中央に固定&非表示にしている状態で、Escapeキーを押したら、カーソルが自由に動ける&表示させるようにしている。

関連記事:【Unity】任意のキー(A,Space,Dなど)を押したとき処理を設定できるInput.GetKey(KeyCode.A)の使い方

あわせて読みたい
【Unity】任意のキー(A,Space,Dなど)を押したとき処理を設定できるInput.GetKey(KeyCode.A)の使い方 Spaceキーを押したときの処理を設定したいな Aキーを押したときこの処理したいな という悩みを解決します。 ●任意のキーを押したときの処理を設定する方法 if (Input.Ge...

まとめ

// カーソル表示
Cursor.visible = true;
// カーソル非表示
Cursor.visible = false;

// カーソルを自由に動かせる
Cursor.lockState = CursorLockMode.None;
// カーソルを画面内で動かせる
Cursor.lockState = CursorLockMode.Confined;
// カーソルを画面中央にロックする
Cursor.lockState = CursorLockMode.Locked;

こちらの事情によりGifが使えなかった。自分で動かしてみていただきたい。

以上、Unityでカーソルを表示・非表示するなどの制御を行う方法だ。

このようなチュートリアルを販売しているので、Unityでゲームを作成している人は購入していただきたい。

>>Unityでもっとゲーム開発する

あわせて読みたい
【Unity3Dサンプルゲーム・チュートリアル】「フリスビーを犬に届けよ!」の概要 はじめに Unityでのゲーム開発を手助けするメディア「Unishar-ユニシャー」のさぎのみやです。「フリスビーを犬に届けよ!」というゲームのチュートリアルを作成しまし...
Unityでカーソルを制御する

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!

コメント

コメントする

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

目次