一, 前景
我所说的脚本是 runtime , 扩展脚本, 附加脚本
其中, runtime和扩展脚本需要使用继承方案,而附加脚本使用的是组合的方案
二, 美术的操作
Ⅰ,runtime
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsAjMfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SNzADN5EjN1UDMwcjMyYTMvw1MwYDMxIDMy8CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
Ⅱ,扩展脚本
类似于Unity / Cocos Creator中组件的感觉, 会在UI编辑器中显示相关属性, 具体操作如下
1,打开"新建"面板, 操作如下图
2,先择"扩展脚本" , 注意"脚本名称"和运行名称, 如下图
3,添加属性
4, 拖动进行附加到相关的组件,如下图我对Box(myBox)绑定了这个扩展脚本
Ⅲ,附加脚本
和"扩展脚本"一样也有Unity / Cocos Creator中组件的感觉.操作上除了脚本类型要改成"附加类型",其余的一下,如下
添加类似的属性 ①, speed ②,userName
注意,也需要拖动绑定,这次我绑定的是Box(myBox1),如下:
三, 编写相关的脚本代码
Ⅰ,runtime
Ⅱ,扩展脚本( 很可惜 : speed 和 userName 还是需要再定义一下 )
Ⅲ,附加脚本 ( 很可惜 : speed 和 userName 还是需要再定义一下 )
注意附加脚本 , 没有没法定义单独的diSomething方法, 我定义了一个callback, 需要更改laya.ui.js底层如下: (注意这个需要自己修改底层)
四,调用脚本的方法
五,结果
使用的是,1.8.14Bate 版本引擎