当前位置: 首页 > news >正文

unity action委托举例

using System;
using UnityEngine;

public class DelegateExample : MonoBehaviour
{
    void Start()
    {
        // 创建委托实例并添加方法
        Action myAction = Method1;
        myAction += Method2;
        myAction += Method3;

        // 调用委托,会依次执行Method1、Method2和Method3
        myAction();
    }

    // 方法1:打印日志
    void Method1()
    {
        Debug.Log("Method1 is called.");
        // 这里可以添加其他操作,比如修改游戏对象的状态
        // gameObject.SetActive(true); // 假设这是一个激活游戏对象的操作
    }

    // 方法2:改变游戏对象的颜色
    void Method2()
    {
        Debug.Log("Method2 is called.");
        // 假设有一个Renderer组件
        if (GetComponent<Renderer>() != null)
        {
            GetComponent<Renderer>().material.color = Color.red;
        }
    }

    // 方法3:播放音效
    void Method3()
    {
        Debug.Log("Method3 is called.");
        // 假设有一个AudioSource组件
        AudioSource audioSource = GetComponent<AudioSource>();
        if (audioSource != null && audioSource.clip != null)
        {
            audioSource.Play();
        }
    }
}

http://www.lryc.cn/news/517777.html

相关文章:

  • conda 批量安装requirements.txt文件
  • Flutter:封装一个自用的bottom_picker选择器
  • Group3r:一款针对活动目录组策略安全的漏洞检测工具
  • 支持向量机算法(一):像讲故事一样讲明白它的原理及实现奥秘
  • 力扣-数组-35 搜索插入位置
  • List ---- 模拟实现LIST功能的发现
  • HashMap和HashTable区别问题
  • mysql -> 达梦数据迁移(mbp大小写问题兼容)
  • leetcode热门100题1-4
  • 作业:IO:day2
  • UVM: TLM机制
  • flink的EventTime和Watermark
  • arcgis的合并、相交、融合、裁剪、联合、标识操作的区别和使用
  • 【Leetcode 热题 100】20. 有效的括号
  • 比较procfs 、 sysctl和Netlink
  • Leetcode 3413. Maximum Coins From K Consecutive Bags
  • MakeFile使用指南
  • 矩阵碰一碰发视频的视频剪辑功能源码搭建,支持OEM
  • VB.NET CRC32 校验
  • 冒充者综合征上线了
  • 【大模型】百度千帆大模型对接LangChain使用详解
  • Redis相关面试
  • 使用强化学习训练神经网络玩俄罗斯方块
  • java中的日期处理:只显示日期,不显示时间的两种处理方式
  • 腾讯云AI代码助手编程挑战赛——贪吃蛇小游戏
  • 水水水水水
  • Spring整合SpringMVC
  • 【Rust自学】10.4. trait Pt.2:trait作为参数和返回类型、trait bound
  • 嵌入式系统 (2.嵌入式硬件系统基础)
  • Linux 下 Vim 环境安装踩坑问题汇总及解决方法(重置版)