tome4吧 关注:8,497贴子:80,086

回复:【MOD入门】职业MOD的入门讲解

取消只看楼主收藏回复

newTalent{ }
距离与范围的参数
range = xx, --会显示在界面中,哪怕根本没用处,可以找到类似技能
radius = xx, --虽然不显示,但是也是官方安排的固定参数
它们有一个函数专门来提取:
getTalentRange(t) 这个数值就是range的数值
getTalentRadius(t) 这个数值就是radius的数值
它们是默认就有的东西,所以官方写了这2个函数来方便调用
并不是依葫芦画瓢,写个getTalentXxxx(t)就能随便调用的
你们在代码中,时常看见self:getTalentRange(t) 这种格式
大概理解成,从self这个对象中,调用属于这个对象的某某数据
这个newTalent是一个技能{ }
这个self写在它的里面,就说明,self指代了这个技能本身
重新阅读self:getTalentRange(t)
就是在说,从这个技能中,获得这个技能的range
本质是一个作用域的问题
说白了,你只写个getTalentRange(t),你到底是要获得谁的range呢
你如果要问这两个参数作为默认数值有什么用
那么range至少有个显示出来给你看的作用
然而实际上,它们都等着你去调用,你不调用,就等于没用
它们是固定默认就有的参数,是官方定义管控的参数
代码这个东西写起来比较自由,可实现可调用的功能往往是包装之后的
你们会看到许多技能,里面的代码完全解释不了它究竟是怎么运作的
而,这个range也有属于它的特殊现象
觉醒技能有个距离+3,就是作用于这个range上面的
所有技能中,符合条件的技能,它们的range都会受到觉醒技能距离+3的影响
当你调用range时,程序的底层自动完成了对于range的觉醒修改
可是有些技能
表面上使用range来表示射程啊范围啊,实际上使用了别的数据
压根就只是把range写一个数值给你看看
例如:觉醒赞美太阳,它有个range=5,实际使用的是radius=5
觉醒距离+3之后看见那个range变成了8,并没有什么用,真正的有作用的,不是range


IP属地:湖北29楼2019-11-04 18:52
回复