laya2.1.1.1
参考:
一 没有自定义组件
教程翻了几遍,没有自定义组件,论坛搜了下,说是不能使用。
二 预置件做自定义组件
预置件无法右键创建。
又去翻教程。终于知道预置件怎么创建了。就是选中一个组件,然后右上角有个按钮,设置为预置件。
选择了分离模式导出,但是预置件代码不能像scene一样生成在layaMaxUI.ts中,然后去继承。
仿照laya的demo中dropbox预置件的写法。现在创建关卡图标预制体LevelFlag.prefab和代码逻辑LevelFlag.ts。
在代码逻辑LevelFlag.ts中获取预制体组件,用getChildByName获取。比较麻烦。
获取预置件上挂着的代码逻辑LevelFlag.ts,需要使用getComponent。
let levelFlag:LevelFlag = this.flag.getComponent(Laya.Script);
三 使用Scene做自定义组件
现在只能用Scene做自定义组件。比如我现在要创建10个关卡图标自定义组件LevelFlag
1. 创建一个scene命名为LevelFlag.scene
2. LevelFlag.scene绑定runtime为逻辑类LevelFlag.ts
3. 拖动这个LevelFlag.scene到其他scene中使用,命名为flag
4. 在LayaMaxUI.ts里获得这个组件类型是flag:any, -_-!, 代码里要自己转换一下 flag as LevelFlag使用