Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Cursor.lockState

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static var lockState: CursorLockMode;
public static CursorLockMode lockState;

説明

カーソルをどのように扱うか。

Locked の場合、カーソルは自動的に中央に固定され、画面から離れられなくなります。このモードは主に Cursor.visible を false にして使用します。 Confined の場合、カーソルは普段通り動作しますが、画面内に制限されます。

Web プレイヤーではカーソルはユーザーがコンテンツをクリックし、かつ、ユーザーがカーソルをコンテンツ画面から移動させない場合にのみ、Locked/Confined のままになります。 ユーザーがエスケープキーを押すか他のアプリケーションに切り替えた後はカーソルが通常状態に戻ります。 カーソルの状態はフルスクリーンモードを解除した後もリセットされます。

上質なユーザー体験のために、ボタンを押した結果としてカーソルにロックや制限をかけることを推奨しています。 例えばゲームの一時停止やゲームメニューの表示のために、カーソルがリセットされているか確認もするべきです。 Web プレイヤーとエディターでは Esc キーを押すとカーソルが自動的にリセットされます。 スタンドアロンプレイヤーの場合、アプリケーションがマウスカーソルの管理権限を完全に持つため、アプリケーションを切り替えない限りカーソルはリセットされません。


        
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { CursorLockMode wantedMode; // Apply requested cursor state void SetCursorState () { Cursor.lockState = wantedMode; // Hide cursor when locking Cursor.visible = (CursorLockMode.Locked != wantedMode); } void OnGUI () { GUILayout.BeginVertical (); // Release cursor on escape keypress if (Input.GetKeyDown (KeyCode.Escape)) Cursor.lockState = wantedMode = CursorLockMode.None; switch (Cursor.lockState) { case CursorLockMode.None: GUILayout.Label ("Cursor is normal"); if (GUILayout.Button ("Lock cursor")) wantedMode = CursorLockMode.Locked; if (GUILayout.Button ("Confine cursor")) wantedMode = CursorLockMode.Confined; break; case CursorLockMode.Confined: GUILayout.Label ("Cursor is confined"); if (GUILayout.Button ("Lock cursor")) wantedMode = CursorLockMode.Locked; if (GUILayout.Button ("Release cursor")) wantedMode = CursorLockMode.None; break; case CursorLockMode.Locked: GUILayout.Label ("Cursor is locked"); if (GUILayout.Button ("Unlock cursor")) wantedMode = CursorLockMode.None; if (GUILayout.Button ("Confine cursor")) wantedMode = CursorLockMode.Confined; break; }

GUILayout.EndVertical ();

SetCursorState (); } }