一种解决办法是跳过
SwipeDetection
当鼠标指针位于面板外部时。所以,如果你能得到一个关于专家组
RectTransform
,然后您可以在调用之前检查鼠标指针是否在其内部
SwipeDetection
为了考虑用户从面板中压出然后进入面板的可能性,您可以指定
fingerStart = Input.mousePosition;
当鼠标位于矩形外时。
总之,这可能看起来像:
public RectTransform rectTransform; // panel RectTransform assigned to this variable
...
void Update ()
{
Vector2 mousePosition = Input.mousePosition;
if (RectTransformUtility.RectangleContainsScreenPoint(rectTransform, mousePosition))
{
SwipeDetection();
}
else
{
fingerStart = Input.mousePosition;
direction = Swipes.None;
}
}