我正在使用UI事件系统统一制作一些游戏菜单。
我的意图是当我将鼠标指针移到游戏菜单区域中的文本上方时, 字体变大,当我将鼠标指针移出时,字体变大 到原始大小。
它可以按照我的预期工作,但是存在一个问题,如果我将鼠标指针移到文本上方,然后将我的游戏菜单设置为非活动状态,然后使用按键再次将其激活,则字体大小不会恢复到其原始大小,只是会变大
这是我的代码
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;
}
}
我想设置为非活动状态与将鼠标指针移出不一样。
有什么办法可以解决这个问题?
答案 0 :(得分:1)
当您激活菜单时,请设置默认值,这样,将其禁用时将不会发生什么。或者,当您停用菜单时,请先运行默认方法,然后停用。这样,启用后它将恢复正常。