こちらの記事のままだけど一応メモ
解決したいこと
WASDキーで移動するゲーム内で、InputFieldに名前やチャットなど入力するとき、「w」などを押すと移動してしまう。
これをどうにかしたい!
あとドラッグでカメラ回している時とかも、スクロールUIをマウスでドラッグしてスクロールするとカメラのほうも反応してしまう!
uGUIに入力中か判定
判定方法はいろいろあるだろうけど、これ知らなかったし一番便利だった!
if (EventSystem.current.IsPointerOverGameObject())
でuGUI操作中だったらtrueになる。
スマホはInput.GetTouch(0).fingerIdを入れないといけないって。
#if UNITY_EDITOR
if(EventSystem.current.IsPointerOverGameObject()){
return;
}
#else
if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId)) {
return;
}
#endif
Joystickの入力も追加したい
joystickアセットを追加したんだけど、これを動かしたときも画面のドラッグが反応してしまう;;
EventSyetemの入力じゃないからなのか・・・?
結局Joystickが動いているかどうかの判定にした