【问题标题】:How add Target Graphic for Button in Unity3d?如何在 Unity3d 中为按钮添加目标图形?
【发布时间】:2015-12-30 20:21:57
【问题描述】:

我正在为用户创建一个菜单。我已经添加了 Canvas 元素。它有一些文本元素,因为它是子元素。文本元素之一添加了 Button 组件。

我希望这个文本按钮在突出显示时改变它的颜色,但我不能,因为缺少目标图形:“你必须有一个图形目标才能使用颜色过渡”。

我该如何解决?

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    您应该转到menu 并搜索GameObject 选项卡,然后转到UI -> Button

    这样,Unity 将自动创建具有多个子级的 Button GameObject,每个子级都有一个组件(文本、图形等)。

    比自己创建并手动添加组件要快得多,而且您不会丢失任何组件。

    【讨论】:

    • 我已经通过添加 Button 元素(如您的建议)而不是 Text 元素解决了我的问题,但我还必须对此 Button 进行一些更改以达到此 Button 文本的理想外观级别。但是,您并没有完全回答我的问题。还是谢谢。
    • 不错的答案顺便说一句。 @snak 在重复的情况下,如果你能找到一个比已经给出的更好的重复,那就更好了——你会得到更多的分数。
    • 嘿@JoeBlow,你真是个愚蠢的人。您在 Unity 中的知识可能为 0,这就是为什么您将其标记为重复而不是重复。激活/停用组件与游戏对象不同。您应该真正开始学习有用的东西,而不是 24/7 输入愚蠢的 cmets。不,我不求积分。祝你有美好的一天,孩子。
    • 嗨 Snak,你知道它是什么,我很快就找到了任何有点像复制品的东西。问题是这是一个超级简单的问题,有很多很多重复的所有品种。 (我刚刚在这里统计了关于 SetActive 的 35 个问题!这是描述差异的十几个问题之一!。stackoverflow.com/questions/34908890/… )确实,通常人们只需单击“太笼统”而不是费心查找重复项。没有人会关心你知道的密切的原因,只要有一个密切的投票
    • 在重复的情况下,如果你能找到比已经给出的更好的重复,那就更好了——你得到更多的分数——太棒了。主要的事情是我们都帮助关闭“多次重复的简单问题”,因为否则董事会将不幸地变得像answers.unity3d一样无用......然后我们都无法回答任何问题:/无论如何,对于那里的混淆,兄弟们感到抱歉享受吧!
    【解决方案2】:
    using UnityEngine.EventSystems;
    using UnityEngine.UI;
    
    public class Test : MonoBehaviour , IPointerEnterHandler, IPointerExitHandler
    {
        public Text text;
        public void OnPointerEnter (PointerEventData eventData)
        {
            text.color = Color.white;
        }
    
        public void OnPointerExit (PointerEventData eventData)
        {
            text.color = Color.black;
        }
    }
    

    使用事件系统,您可以控制做什么和什么时候做。只需添加接口并实现方法。不要忘记命名空间。

    【讨论】:

    • 我认为这种方法是正确的(虽然我没有测试它)回答我的问题。谢谢。
    【解决方案3】:

    Unity 希望您向对象添加一个 Image 组件并将其放入 Target Graphic 字段中。只需在检查器中“添加组件”,搜索图像,然后将其放入目标图形中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      相关资源
      最近更新 更多