【问题标题】:How to solve this OnPointerEnter() problem in unity如何统一解决这个 OnPointerEnter() 问题
【发布时间】:2019-06-26 13:15:06
【问题描述】:

我正在使用 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;
        }
}

我猜设置对象不活动与将鼠标指针移出不同。

有什么办法可以解决这个问题??

【问题讨论】:

  • 如何停用它们?

标签: c# unity3d


【解决方案1】:

当您激活您的菜单时,请设置默认值,这样当它被停用时会发生什么都无关紧要。或者,当您停用菜单时,先运行默认方法然后停用。这样启用后就会恢复正常。

【讨论】:

    猜你喜欢
    • 2014-10-07
    • 1970-01-01
    • 2021-05-26
    • 2019-04-20
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多