//unity菜鸡,将自己学习中的知识写下来。如若发现错误,希望可以私信。共同进步

在unity中,脚本之间传递信息有几种方式

第一种也是比较正统的吧,SendMessage函数,他有如下这几种形式:

1.SendMessage

原型:public void SendMessage(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);

methodName指的是需要接收本指令的函数,value即为所需传递到接收函数中的参数,options为如果未在目标函数中找到本方法的话是否需要引发Error操作

2.SendMessageUpwards

        原型:public void SendMessageUpwards(string methodName, object value = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);

他的作用和SendMessage是差不多的,不过他会向目标函数及所有父函数传递信息;

3.BroadcastMessage

原型:public void BroadcastMessage(string methodName, object parameter = null, SendMessageOptions options = SendMessageOptions.RequireReceiver);

作用与Upwards有点相反,他可以向所有子对象传递信息

第二种则是我平时用的比较多的,因为也是刚开始学,所以不一定正确,但目前还是有用的,可以予以借鉴:

我们可以直接在当前函数中声明一个需要被调用的函数的对象:例如我们现有一个名叫Inventory的脚本中有这样一个函数存在:

public void Calculate(int in)
{if(in == 0){debug.log("输入为0");}
}

在其余函数中,我们可以这样来调用此函数,并传递信息:

public Inventory Inv;/*在使用public后在unity操作页面绑定被操作脚本,或者使用Private 在awake或者 start中挂载被操作脚本
*/public void Test()
{Inv.Calculate(0);  //传递参数,并调用
}

So~ that's all.

unity中脚本之间传递信息的方式相关推荐

  1. unity中脚本编辑器UnIDE

    引言 unity默认脚本编辑器是MonoDevelop,随着unity4.3面世,MonoDevelop (4.0.1)版本也随之而来,更新为界面更改和bug自动修复功能等,具体还未使用. 点击uni ...

  2. 控制Unity中脚本的运行顺序

    思路就是先拿到脚本和脚本挂的特性值 然后使用monoImportor.Set修改执行顺序 using System; using System.Collections.Generic; #if UNI ...

  3. Unity中游戏多种武器旋转方式

    -- 本人学习多种单机游戏的总结笔记 2D中武器跟随鼠标位置旋转 这个一些2D屏幕游戏或者像捕鱼达人也会有这类实现. 第一种代码实现(略微简单,如果能没出错,建议使用这个,如果转化出错可以参考第二种的 ...

  4. Unity中的第一种签到方式的源码?

    视频地址 源码: /* *┌────────────────────────────────┐ *│ 描 述: *│ 类 名:SignInSystem.cs *│ 创 建 人: *└───────── ...

  5. unity中让Rigidbody移动的方式

    1.Rigidbody.velocity 给我刚体一个速度:horizontal = Input.GetAxis("Horizontal");vertical = Input.Ge ...

  6. Unity中一些小技巧

    在unity中有一些小技巧,不能像人物的移动,攻击等有好几种方式可以用来单独成章,因此就把一些内容比较少,但是比较重要的内容放在一起合成一章,内容将会持续更新 1.人物死亡动画的播放:人物死亡后,需要 ...

  7. 第16章 Unity中的渲染优化技术

    程序优化的第一条准则: 不要优化.程序优化的第二条准则(仅针对专家! 〉: 不要优化. 一一Michael A. Jackson 在进行程序优化的时候,人们经常会引用英国的计算机科学家Michael ...

  8. 如何在不同的 ViewController 之间传递信息

    ViewController 之间传递信息 iOS 开发中,不同的 ViewController 之间传递信息的方式有好几种.这里介绍常见的三种方式,使用自带的 prepare 方式.使用委托模式.使 ...

  9. Unity中常见的报错类型

    笔记来自Unity中文课堂<Unity开发过程中常见的报错与Debug> 1.Cant add script,不能添加脚本 1.Unity中脚本的文件名称必须和脚本内的class名称一致 ...

最新文章

  1. 大数据竞赛平台——Kaggle 入门篇
  2. windows下设置进程CPU相关性/亲合度,解决CPU使用率占用100%的问题
  3. Windows2012R2 Hyper-v3.0 高可用群集安装及配置(Live Migration)
  4. discuzx2.5添加自定义积分日志
  5. 【论文串讲】从GPT和BERT到XLNet
  6. 登录过gnome主题后无法再登录xfce主题
  7. adf4351使用_ADF:将UI类别与动态表单一起使用
  8. linux系统下聊天工具,linux系统环境下如何使用amsn聊天工具_linux教程
  9. el-upload进度条无效,on-progress无效问题解决方案
  10. python和java哪个好找工作-你觉得学python还是java好找工作?
  11. linux资源监控分析,inux 资源监控分析-pidstat
  12. 编码基本功:工作中,大多数人不会举一反三
  13. Django项目目录及项目文件介绍
  14. vbs代码未结束的字符串常量
  15. MP3stego下载(强大的隐写工具)
  16. InsecureProgramming-master——abo1
  17. primo驱动启动顺序
  18. Android日历移植小结
  19. Fully Unsupervised Person Re-identification via Selective Contrastive Learning
  20. PyTorch 中的 dropout Dropout2d Dropout3d

热门文章

  1. 专访中国信通院云大所栗蔚:ChatGPT的成功揭示了云计算作为数字世界“中枢神经”的价值
  2. 我把皮小浪の的 蓝色妖姬系列做进了java窗口
  3. win10同步服务器文件夹在哪,win10系统一键同步win 10文件夹视图的操作方法
  4. Kaggle(入门)
  5. 00 Mybatis之简介与入门
  6. 如何加速香港主机运行系统
  7. 通过线构造面(C# + ArcGIS Engine 9.2)
  8. 如何访问sci-hub?(更新于2017年11月26日)
  9. c++小游戏代码(免费)
  10. 数理统计10.15 | 幂律分布