Как решить эту проблему OnPointerEnter () в единстве - PullRequest
1 голос
/ 26 июня 2019

Я создаю игровое меню в единстве, используя системы событий пользовательского интерфейса.

Я собираюсь навести указатель мыши на текст в области игрового меню, размер шрифта становится больше, и когда я перемещаю указатель мыши, размер шрифта возвращается к его оригинальному размеру.

Это работает, как я и предполагал, но есть проблема, что, если я наведу указатель мыши на текст и установлю свое игровое меню неактивным, а затем снова активируюсь нажатием клавиши, размер шрифта не вернется к своему первоначальному размеру, а только увеличится .

Вот мой код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class HandleIngameMenu : MonoBehaviour,IPointerEnterHandler,IPointerExitHandler,IPointerClickHandler
{

    private Text texts=null;
    private void Start()
    {
        texts = GetComponentInChildren<Text>();
    }


    public void OnPointerEnter(PointerEventData data)
    {
        texts.fontSize += 3;
    }


    public void OnPointerExit(PointerEventData data)
    {
        if (this.gameObject.name.Equals("ReStartBtn"))
        {
            texts.fontSize = 30;
        }
        else
        {
            texts.fontSize = 37;
        }
}

Полагаю, установка деактивированного объекта - не то же самое, что перемещение указателя мыши.

Есть ли способ решить эту проблему ??

1 Ответ

1 голос
/ 26 июня 2019

Когда вы активируете свое меню, установите значения по умолчанию, таким образом, не будет иметь значения, что происходит, когда оно деактивировано. Или же, когда вы деактивируете свое меню, сначала запустите метод по умолчанию, а затем деактивируйте. Таким образом, когда он включен, он вернется в нормальное состояние.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...