ClayByrne 2022-08-08 13:32 采纳率: 71.4%
浏览 49
已结题

Unity 不用Inspector拖拽的话该如何引用?

首先描述一下问题情况:
手头有A,B两个prefab,而这两个prefab中又有A,B两个脚本。A算是一个class。
现在脚本A中有一个方法,暂且称这个方法是load,是实时读取prefabA中的某个物体的RectTransform。
而此时,我在脚本B中,想要调用load。但因为我想获取的是A的实时数据,所以不能使用new来新建一个物体。
于是我在B中写了如下代码:
public A _a;
_a.Load();
这个方法可以运行,但是需要在prefabB的Inspector里,把A拖进去才能正常读取和使用。
(如图)

img

而现在,有人提出要求,要求我不要使用inspector的拖拽去引用_a。
我尝试过使用getComponent,但是脚本A算是一个class,所以无法引用里面的内容。

img

所以现在提问:如何正确引用_a?

  • 写回答

3条回答 默认 最新

  • 新进干员 2022-08-08 14:35
    关注

    1.你代码GetComponent的原因是因为你变量的类型定义错了,获取其他脚本要定义该脚本名称的变量来获取
    2.如果按你的写法

    img

    但是这个方法会在每次调用时GetComponet,对性能有一定的影响
    3.最好按楼上答主的写法来调用该事件

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月17日
  • 已采纳回答 8月9日
  • 创建了问题 8月8日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度