首先EventArgs是一个类,如:

public class EventArgs
{}

而EventHandler是一个申明好的委托,如:

Action m_Action

这样的委托,只是他给定义好的一个,内部是这样的:

public delegate void EventHandler(object sender, TEventArgs e)

下面是使用,一个是没有参数,一个是有参数,参数的意思就是EventArgs中是否有数据

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerControl : MonoBehaviour
{/// <summary>/// 移动结束后触发/// </summary>public event EventHandler MoveComplete;public event EventHandler<PlayerMoveEventArgs> MoveCompleteHandle;void Start () {   }void Update (){if (Input.GetMouseButtonDown(0)){//PlayerMoveComplete();PlayerMoveCompleteHandle();}}private void PlayerMoveComplete(){if(MoveComplete != null)MoveComplete(this,EventArgs.Empty);}private void PlayerMoveCompleteHandle(){if (MoveCompleteHandle != null){PlayerMoveEventArgs player = new PlayerMoveEventArgs("HHHHHHHH");MoveCompleteHandle(this, player);}}
}

管理类:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class GameManager : MonoBehaviour
{public static GameManager Instance;public PlayerControl Player;void Awake(){Instance = this;}void Start (){//Player.MoveComplete += HandleMoveComplete;Player.MoveCompleteHandle += PlayerMoveCompleteHandle;}void HandleMoveComplete(object sender, EventArgs e){Debug.Log("1111111");}void PlayerMoveCompleteHandle(object sender, PlayerMoveEventArgs e){PlayerMoveEventArgs player = e as PlayerMoveEventArgs;Debug.Log(e.Messgae);}
}public class PlayerMoveEventArgs : EventArgs
{private string m_Message;public string Messgae { get { return m_Message; } }public PlayerMoveEventArgs(string m){m_Message = m;}
}

Unity中EventHandler与EventArgs的使用相关推荐

  1. Unity中使用调用Shell的命令行

    Unity中使用调用Shell的命令行 有的时候我们在做unity开发的时候需要去写一些工具编辑器之外的话通常会使用python,但有时也会使用shell命令行来完成一些操作,比如我们在写一自动化打包 ...

  2. 学习在Unity中创建一个动作RPG游戏

    游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...

  3. 学习用C#在Unity中创建一个2D Metroidvania游戏

    学习用C#在Unity中创建一个2D Metroidvania游戏 你会学到: 构建2D Unity游戏 用C#编程 玩家统计,水平提升,米尔和远程攻击 敌方人工智能系统 制定级别和级别选择 Lear ...

  4. 在Unity中制作4种不同的游戏

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:8.6 GB 含课程素材 |时长:15h ...

  5. 学会在Unity中创建一个Match-3益智游戏 Learn To Create a Match-3 Puzzle Game in Unity

    MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:48场讲座(6h 38m) |大小解压后:2.8 G ...

  6. Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity

    Unity中创建本地多人游戏完整案例视频教程 Learn To Create A Local Multiplayer Game In Unity MP4 |视频:h264,1280x720 |音频:A ...

  7. C#开发Unity游戏教程之Unity中方法的参数

    C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号"( )",有意义吗?看起来最 ...

  8. Unity中制作游戏的快照游戏支持玩家拍快照

    Unity中制作游戏的快照游戏支持玩家拍快照 有些游戏支持玩家"拍快照",也就是将游戏的精彩瞬间以图片的形式记录下来的功能.这个功能比较有趣,而且以后的用途也会很广,为此本节打算介 ...

  9. 如何在Unity中添加三维空间声音Spatial Sounds

    hololens的声音模块是头戴环上,靠近耳朵上方的一个红色的模块,三维空间声音感效果还不错,本文主要讲述如何在项目中使用空间声音特性.我们主要讲述必须的插件组件和unity声音组件和属性的设置来确保 ...

最新文章

  1. 哥们,你真以为你会做这道JVM面试题?
  2. resin如何部署java项目_resin项目换成tomcat部署的两种方式
  3. 用场景来规划测试工作
  4. Lesson 16.1016.1116.1216.13 卷积层的参数量计算,1x1卷积核分组卷积与深度可分离卷积全连接层 nn.Sequential全局平均池化,NiN网络复现
  5. java ajax 点赞功能_Ajax+jQuery+bootstrap+Java实现异步点赞功能,并限制点击次数
  6. 哈希表的画法_智慧树知到_机械制图A_答案新版
  7. 全球首款5g全网通智能路由器华为5G CPE Pro发布 售价2499元
  8. pat1062. Talent and Virtue (25)
  9. prometheus监控mysql指标_使用Prometheus监控MySQL状态
  10. 各种格式视频,图片,音频免费下载
  11. 我的世界java总是停止工作_我的世界(Minecraft)Windows 10下停止工作、崩溃解决方案...
  12. IDEA 修改主题设置修改主题字体,编辑区字体
  13. cocos Creator i18n 多语言
  14. PHP 视频格式转换类
  15. java 如何调用大漠插件_java通过jaboc调用dll(大漠插件)遇到的坑,变参指针传参问题...
  16. python基础语法全解/数据类型/面向对象编程
  17. 剑指offer刷题总记——Java
  18. 天勤——图选择题整理
  19. 计算机科学期刊是b类吗,《计算机科学》体例格式
  20. 低代码行业风涌云起,他们靠什么跻身全球第一阵营?

热门文章

  1. idea连接数据库失败问题
  2. kali环境下的ARP欺骗学习笔记以及driftnet无法抓取图片的解决办法
  3. Microsoft Edge视频播放绿屏解决办法
  4. golang filepath.Walk遍历指定目录下的所有文件
  5. 深度学习常见面试题目
  6. 电力电子simulink练习04:三相_桥式_整流
  7. 三相桥式全控/不可控整流电路 电力电子技术仿真 Matlab/Simulink
  8. 全民客服-我的客服体验
  9. 【POJ2251】Dungeon Master(三维BFS)
  10. MySQL索引优化:哪些情况下需要建立索引(适合构建索引的几种情况)