Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

SIKI老师,关于单例
吻风发起了问答2017-12-20
5
回复
1299
浏览

老师看老师教学视频到了背包,发现老师开始用寻找游戏物体再得到脚本组件的方法得到_instance而不是之前的再Awake中直接_instance=this。是不是Awake中获得会有什么弊端?为何老是放弃了这么便捷的方法

所有回复
  • siki • 2017-12-21

    其实这两种方法都没问题的,只是在Awake里面有的时候会出现一个问题

    因为-instance是在Awake里面赋值的,如果你在另外一个Awake里面直接使用,有可能会报空指针,因为这个Awake可能先于_instance所在的Awake执行。

    • 吻风 • 2017-12-22

      但是老师,寻找物体得到脚本的方法您是写在start里面的啊。这样不是更比直接awake中赋值慢吗。

      (0) 回复
    • siki • 2017-12-23

      回复 @ 吻风: 这个是因为,这个对象不再当前脚本所在的游戏物体身上,如果在的话,当然也是可以直接 = this的

      (0) 回复
    还有-3条回复,点击查看
    你还没有登录,请先登录或注册!
  • siki • 2017-12-23

    如果在Awake里面或者Start里面都可以直接 = this

    如果不在的话,因为是在static里面调用的,没有办法取到this,所以只能通过查找得到了,查找得到会慢一点,不过这个对性能没啥影响的,而且这个查找只执行一次

    还有-4条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!