国内 国际 社会 财经 证券 环境 房产 健康 医疗 两性 军事 旅游 时尚 电脑 科技 地方 汽车 消费 人才 人文 事件 摘要
首页 - 资讯 - 电脑数码 - 电脑疑难 - 网络数码

Unity C#的五种方法调用其他脚本函数
  2021/6/6 16:44:11 309 引用:中国网

  以下是Unity C#的种方法调用其他脚本函数,变量的调用也是类似但不完全一致,可自行摸索。但并没有哪种方法绝对万能,应该是各表优劣,相得益彰,应根据实际情况取舍:

1 官方推荐,无需绑定物体
private Test myGG;//把另一脚本的CLASS声明成自己的一个类,Test为其他脚本
void Awake() {
   myGG = new Test();//创建一个Test的实例instance class
   myGG.OpenFile();//调用Test的函数
}

//这里只能调用其他脚本的共有函数,参数可是自己变量或其他脚本共有变量
====================================================

2 使用命名空间
  文件:类1.cs:
  namespace 空间1{
   public class 类1 : MonoBehaviour{
     public string xxx;//变量xxx
     public static void 图片压缩(imagePath){ ... }//函数图片压缩
   }
  }

  
  文件:类2.cs:
  using 空间1;//很重要,不可缺失
  namespace 空间2{
  public class 类2 : MonoBehaviour{
   public 空间1.类1 xxx;//定义一个属于类1的变量xxx
   类1.图片压缩(imagePath);//执行一个属于类1的函数:图片压缩
   }
  }


  值得注意的是,不同页面可以使用同一命名空间名,但里面的函数、变量、方法不能冲突。这样第三方页面只需引用这个命名空间,就能得到所有相关页面的函数、变量、方法,相关页面也可共享松油函数、变量、方法。

================================================

3 绑定调用A
GameObject.Find("脚本所在的物体的名字").SendMessage("函数名");
//能调用public和private类型函数
例如:GameObject.Find("绑定物").SendMessage("刷",i);
可以调其他页面脚本函数,可带参数i。

==================================================

4 绑定调用B
GameObject.Find("脚本所在的物体的名字").GetComponent<脚本名>().函数名();
//只能调用public类型函数

===================================================

5 静态调用
被调用脚本函数为public static类型,调用时无需声明、无需绑定,无须Using,直接用
脚本名.函数名()
IEnumerator类可延迟需要多线程调用的函数,如不能静态执行,改成普通函数。
安卓回调类的也多半不能静态执行,改用其他方法。

================================================================
  重要:如果你调用多个文件的函数,这些函数一定不能重名,否则可能失败或穿帮。

 [1] [2]

相关文章(向右看)..

打印本页 关闭本页





·相关文章
微信如何开通金额文字提醒,以提取
Unity C#如何引用另一个脚
物业管理软件排名,看哪个物管系统/图
Unity3d怎样自制天空盒子/图
WORD如何替换数字为千位带逗号
系统装好无法启动:浅谈分区中的坑
谷歌微软退休,国产操作系统将破壳/图
开机自动运行程序的注册表设置及写
VS社区版、专业版和企业版区别详
盘点十年物价上涨幅度最大十大商品

·热线资讯