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

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

服务保障

1对1 答疑

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

即时回复

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

7天无理由退款

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

30天价保

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

提问必答

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

Unity脚本的外部赋值
水滕TD发起了问答2023-06-04
3
回复
642
浏览

Unity的脚本外部赋值或者赋值有一个特点,类型需要是脚本的类,Unity没有专门给出类似于Code 脚本; 的类型,导致一个脚本需要对应的类型,一一对应,无法赋值其他的脚本,但是通常会出现需要一个脚本变量要储存多个脚本,如一个管理血量的脚本,他需要赋值士兵的本身主脚本,但是士兵可能会是很多种,这时如果想要通用一个管理血量的脚本,就需要管理血量的脚本能赋值不同的脚本,这该如何处理呢?

在其他也有类似的情况,如子弹碰到敌人时进行扣血,他需要获取脚本,但是这个脚本通常不会只有一种,会有不同类型的,所以也需要一个可以储存所有脚本的变量,脚本里写接口,只要获取到脚本,扣血就行,但是需要拿到脚本,GetCompent又需要给一个确切的脚本类型,该怎么办?

所有回复
  • 老师_maimai • 2023-06-05

    可以使用抽象类或接口来解决这个问题,编写扣血接口,而每个士兵的脚本就可以实现这个接口或抽象类,

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
  • 水滕TD • 2023-06-06

    那么实现后怎么做呢?直接GetCompent<接口>().GetHurt(); 吗?,还是GetCompent<脚本>().GetHurt(); 怎么调用接口内的方法呢?获取脚本就又出现无法适用多个脚本的问题

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
  • 水滕TD • 2023-06-06

    已经解决!!非常感谢!!!!!

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