unity基于C#脚本中不同类之间的调用

1.第一种,被调用脚本函数为static类型,调用时直接用 脚本名.函数名(); 这种方法比较适用于调用字段、变量之类的。
举个简单的例子
在move类中定义的一个静态字段

public class move : MonoBehaviour
{
   
public static float Score;
}

想在Bulect类中调用move类中的字段

public class Bulect : MonoBehaviour
{
   

   void AddScore()
   {
   
       ++move.Score;
   }  
}

2.第二种方法:GameObject.Find(“脚本所在物体名”).SendMessage(“函数名”); 也可以利用寻找标签的方式。此种方法可以调用public和private类型函数
例如:在碰撞检测时调用其他类中的方法,就可以用这种方法

public class move : MonoBehaviour
{
   
    public vo
  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity不同C#脚本文件之间可以通过公共变量或静态变量进行调用和共享数据。以下是几种常见的方法: 1. 公共变量:您可以在一个脚本定义一个公共变量,并在另一个脚本进行引用。确保这些脚本位于同一个GameObject或其子对象上。 ```csharp // Script1.cs public class Script1 : MonoBehaviour { public int myVariable; } // Script2.cs public class Script2 : MonoBehaviour { public Script1 script1; private void Start() { int value = script1.myVariable; Debug.Log(value); } } ``` 在这个示例,Script2脚本引用了Script1脚本,并通过`script1.myVariable`访问Script1脚本的公共变量myVariable。 2. 静态变量:静态变量可以在多个脚本之间共享,而不需要实例化一个对象。您可以直接通过名访问静态变量。 ```csharp // Script1.cs public class Script1 : MonoBehaviour { public static int myVariable; } // Script2.cs public class Script2 : MonoBehaviour { private void Start() { int value = Script1.myVariable; Debug.Log(value); } } ``` 在这个示例,Script2脚本通过`Script1.myVariable`访问Script1脚本的静态变量myVariable。 请注意,使用静态变量时要小心,因为它们在整个项目都是全局可见的,并且可能导致代码的可读性和可维护性降低。因此,仅在确实需要共享数据时才使用静态变量。 这些是在Unity不同C#脚本之间共享变量的几种方法。根据您的具体需求,选择适合的方法来实现变量的调用和共享。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ga-p

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值