実現したいこと
- UnityでEditor状態のときに、TextMeshProのInputFieldを使ったときに日本語のリアルタイム変換イベントを取得したいです。
前提
PC用の日本語かなの入力システムのようなものを作ってます。
英語入力時は、問題なくリアルタイム変換を取得できました。
AndroidやiOSでプロジェクト出力時は、日本語入力時に、リアルタイムの変換イベントを取得できましたが、
UnityでEditor状態のときに
日本語入力時に、リアルタイムの変換イベントを取得できませんでした。
Unityのmacで、プロジェクトを出力したときにも、
日本語入力時に、リアルタイムの変換イベントを取得できませんでした。
一旦は、UnityでEditor状態のときに
日本語入力時に、リアルタイムの変換イベントを取得できるようにしたいです。
発生している問題・エラーメッセージ
エラーは特に発生してません。
該当のソースコード
UniRxを使わない場合の変換イベント
using UnityEngine; using TMPro; using System; public class DevInputScene : MonoBehaviour { [SerializeField] TMP_InputField wordInputField; void Start() { // 文字の変更があった時 wordInputField.onValueChanged.AddListener(delegate { Debug.Log("OnValueChanged value=" + wordInputField.text); }); } }
UniRxを使った場合の変換イベント
using UnityEngine; using TMPro; using System; using UniRx; public class DevInputScene : MonoBehaviour { [SerializeField] TMP_InputField wordInputField; // 入力ワードが変更された時 public IObservable<string> wordInputFieldOnValueChangedAsObservable; // Start is called before the first frame update void Start() { wordInputFieldOnValueChangedAsObservable = wordInputField.onValueChanged.AsObservable(); // 入力ワードが変更された時 wordInputFieldOnValueChangedAsObservable.Subscribe(value => { Debug.Log("OnValueChanged value=" + value); }).AddTo(gameObject); } }
挙動
あいえうおと入力すると、おを入力してエンターを押したときに、すべてのイベントが帰ってくるのですが、
それぞれ、あ、い、う、え、おを入力したタイミングで、イベントが、帰ってきてほしいです。
a,i,u,e,oであれば、それぞれ、入力したタイミングでイベントが帰ってきます。
試したこと
- UniRxを使わない場合もNGでした。
- UniRxを使った場合もNGでした。
- TMP_InputFIeldを、レガシー(UnityEngine.UI)のInputFieldにしても、同じNGな挙動になります。
補足情報(FW/ツールのバージョンなど)
Unity2021.3.4f1のEditorモード

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/05/09 03:55
2023/05/10 03:13