| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- const TopEdgeDistance = 0;
- const BottomEdgeDistance = 0;
- const { ccclass, property } = cc._decorator;
- enum BGType {
- /**
- * 无
- * @property {Number} None
- */
- None = 0,
- /**
- * 半透明
- * @property {Number} Translucent
- */
- Translucent = 1,
- }
- /**
- * 窗口遮罩
- * - 挂载到节点上
- * @author 薛鸿潇
- */
- @ccclass//('UIBG')
- export class UIBG extends cc.Component {
- @property({ displayName: '背景颜色' })
- private color = new cc.Color(0, 0, 0, 120);
- @property({ displayName: '点击关闭' })
- private bClickClose: boolean = false;
- /** 背景节点 */
- private node_bg: cc.Node = null;
- onLoad() {
- this.initBG();
- }
- private initBG() {
- const width = mk.game.getWinSize().width;
- const height = mk.game.getWinSize().height;
- this.node_bg = this.drawColorRect(new cc.Rect(-width / 2, -height / 2, width, height));
- this.node_bg.parent = this.node;
- this.node_bg.zIndex = -10000;
- this.node_bg.addComponent(cc.Button);
- this.node_bg.on('click', this.initClick, this);
- }
- /**
- * 按钮回调
- */
- private initClick() {
- if (this.bClickClose) mk.ui.closePanel(this.node.name);
- }
- /**
- * 创建背景蒙版 by 绘图组件
- * @param size 坐标及宽高
- * @returns 创建的节点
- */
- public drawColorRect(size: cc.Rect): cc.Node {//
- cc.log(size)
- let node = new cc.Node('colorRect');
- node.setContentSize(size);
- let graph = node.addComponent(cc.Graphics);
- graph.fillColor = this.color;
- graph.fillRect(size.x, size.y, size.width, size.height);
- return node;
- }
- }
|