(1)你这样写的前提是,A 和 B 必须同时实例化到同一个gameObject上(这两个脚本得同时应用到一个物体上),否则你的a = GetComponent()肯定为null ,因为B调用这个Get,而他本身所处的gameObject本没有A这个脚本组件,A的实例在另一个物体上。 估计这是你报错的一个原因。
(2)用static声明全局变量似乎没必要,static的作用应该是让变量在类被实例之前就得到实例化。用static的话,那么应该是要达到这样的
1.新建两个脚本,在脚本2中实例化脚本1。
2.在脚本2中用脚本1实例化对象调用脚本1中的公有变量,赋初值。
3.创建两个物体,将两个脚本绑定不同物体。
4.将物体1拖拽到脚本2的变量上进行赋值。