Uniyで作ったゲームをWebGLにしました。
InputFeildで打ち込んだ後フォーカスを数秒後になくしたいのですがUnityの画面とWebGLの挙動が違いました。
Unity上だと連打しても問題なく動くのですがWebGLだとそのまま打ち込みの画面となります。
Unity画面と同じように動くようにしたいです。
宜しくお願いします。
作成したスクリプトは下記となり画面には
InputFieldを二つ
Textを一つ 用意します。
using System.Collections; using UnityEngine; using UnityEngine.UI; public class Test用 : MonoBehaviour { public InputField コピー行うIF; public Text 表示テキスト; public InputField 一度フォーカスを逃がす為のIF; void Start() { 表示テキスト.text = "コピーしたい"; コピー行うIF.readOnly = true; 一度フォーカスを逃がす為のIF.readOnly = true; } void Update() { if (Input.GetKeyDown(KeyCode.Backspace)) { 一度フォーカスを逃がす為のIF.Select(); //フォーカスが当たるたびに全選択して欲しいので一回フォーカスをはずします。 コピー行うIF.text = 表示テキスト.text; //テキスト挿入 コピー行うIF.Select(); //IFにフォーカスする。 var coroutine = StartCoroutine(JibundeKangaetaYatsu()); // コルーチン開始 } IEnumerator JibundeKangaetaYatsu() //時間差で発動 { yield return new WaitForSeconds(3.0f); //この3秒の間にコピーを行います。 コピー行うIF.text = ""; //文章を空に戻す } } }
必要でなくなったフォーカスはInputFieldでなくても問題はないのですがデフォルトではどこにあるのかわからずに一度逃がしております。
※WebGLInput-masterと言うプラグインでコピー可能となっております。
あなたの回答
tips
プレビュー