UnityのEventTriggerのバグ?と解決方法

適当なUI>Imageを作り、以下のButton.csをアタッチ
http://qerozon.jp/file/Button.cs

Unity5.3.5f1、Android実機(XperiaZ2)で検証。

Imageにタッチし、ドラッグ、Imageの外で指を離す。
07-16 18:38:43.888: I/Unity(23132): OnPointerEnter
07-16 18:38:43.890: I/Unity(23132): OnPointerDown
07-16 18:38:43.892: I/Unity(23132): OnInitializePotentialDrag
07-16 18:38:43.934: I/Unity(23132): OnBeginDrag
07-16 18:38:43.935: I/Unity(23132): OnDrag(何度か走る)
07-16 18:38:44.117: I/Unity(23132): OnPointerExit
07-16 18:38:44.445: I/Unity(23132): OnDrag(何度か走る)
07-16 18:38:44.452: I/Unity(23132): OnPointerUp
07-16 18:38:44.453: I/Unity(23132): OnEndDrag

その後、Imageの外にタッチし、ドラッグ、Imageの上で指を離す。
07-16 18:40:26.949: I/Unity(23132): OnPointerEnter
07-16 18:40:27.048: I/Unity(23132): OnPointerExit
07-16 18:40:27.066: I/Unity(23132): OnPointerEnter

最後にOnPointerEnterが走ってしまう。

解決方法は、最後のOnPointerEnterの前にInput.touchCountが0になっているので
public void OnPointerEnterのとこを

if(Input.touchCount <= 0)
return;
Debug.Log("OnPointerEnter");

とする。

根本的な解決にはなってない気がするけどまあいいや。
それにしてもなんでInput.touchCountが0、
つまり画面に触れてないのにOnPointerEnterが走るんだろう?

Leave a Reply


Fatal error: Uncaught ErrorException: Undefined variable: user_ID in /home/ss557322/qerozon.jp/public_html/wp-content/themes/clear-seo-blue-eng/comments.php:79 Stack trace: #0 /home/ss557322/qerozon.jp/public_html/wp-content/themes/clear-seo-blue-eng/comments.php(79): {closure}(8, 'Undefined varia...', '/home/ss557322/...', 79, Array) #1 /home/ss557322/qerozon.jp/public_html/wp-includes/comment-template.php(1535): require('/home/ss557322/...') #2 /home/ss557322/qerozon.jp/public_html/wp-content/themes/clear-seo-blue-eng/single.php(52): comments_template() #3 /home/ss557322/qerozon.jp/public_html/wp-includes/template-loader.php(106): include('/home/ss557322/...') #4 /home/ss557322/qerozon.jp/public_html/wp-blog-header.php(19): require_once('/home/ss557322/...') #5 /home/ss557322/qerozon.jp/public_html/index.php(17): require('/home/ss557322/...') #6 {main} thrown in /home/ss557322/qerozon.jp/public_html/wp-content/themes/clear-seo-blue-eng/comments.php on line 79