很多时候我们写一些公共工具或者通用脚本时,需要跟Unity组件一样实现某些功能,例如Button组件上的Transition选择之后会变化出相对应的模块。那么这个功能怎么实现呢?其实Unity提供了这种功能实现的方法,那就是Attribute标签,标记特性类。想具体知道是怎么实现的可以看下官方文档或者一些关于Attribute的博客。
实现
实现一个通用的鼠标对button移入移出切换图片或者显示/隐藏物体脚本。
首先,把自己要实现的功能脚本写完,我这里写的是对button移入移出的简单脚本
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
namespace Util
{
public enum Mode
{
/// <summary>
/// UI事件
/// </summary>
UISprite,
/// <summary>
/// 物体隐藏显示
/// </summary>
UIObject,
}
public class UIEnterEvent : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
{
[Header("选择模式")] [SerializeField] private Mode uiMode;
//----------Object操作----------------
[Header("移入时")] [SerializeField] private G

本文介绍了如何在Unity中通过Attribute标签和自定义特性类实现类似Button组件的交互效果,如鼠标移入移出切换图片或显示/隐藏物体。通过定义一个枚举来选择实现模式,并在编辑器中动态显示相应的属性面板。
最低0.47元/天 解锁文章
12万+

被折叠的 条评论
为什么被折叠?



