监听脚本绑定事件与属性改变事件

本文介绍如何在Unity3D中使用脚本监听编辑模式下的脚本绑定事件及属性改变事件,通过具体示例展示了如何实现脚本绑定时的初始化操作及数据变更后的响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文转载自Unity3D研究院编辑器之监听脚本绑定事件与属性改变事件(十一),感谢原作者提供好文章

在编辑模式下可能会用到, 比如我想做当绑定一个脚本后做点什么事情。。。 再比如我想当脚本序列化的数据发生改变做点什么事情等等。。

举个典型的例子 比如有些脚本需要美术 或者策划挂在场景的模型上, 那么这些模型有很多没用的的组件 比较Animation 或者 Collider 如果在这里监听的话, 当他们挂在脚本的时候就可以删除这些没用的了组件了。。

把如下脚本在编辑模式下绑定在某个对象上即可。。

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour
{

    public string name = "雨松MOMO"; 


#if UNITY_EDITOR

    void Reset()
    {
        Debug.Log("脚本添加事件");
    }


    void OnValidate()
    {
        Debug.Log("脚本对象数据发生改变事件");
    }

#endif

}

如下图所示, Reset方法绑定脚本时会执行一次。以后每次点击”Reset”也会执行。OnValidate方法是脚本中序列化的数据发生改变,比如这里字符串name变量发生变化后就会执行了。

这里写图片描述

如果说你想在一个统一的地方处理这些事件,那么就把reset和OnValidate消息抛出去吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值