53 lines
1.4 KiB
TypeScript
53 lines
1.4 KiB
TypeScript
|
|
/*
|
|||
|
|
* @Author: WoNiu
|
|||
|
|
* @Date: 2024-03-24 16:09:55
|
|||
|
|
* @LastEditTime: 2024-03-24 16:30:46
|
|||
|
|
* @LastEditors: WoNiu
|
|||
|
|
* @Description: 通过边框显示node的位置和大小,默认锚点(0,1)
|
|||
|
|
*/
|
|||
|
|
import { _decorator, Color, Component, Graphics, Node, UITransform } from 'cc';
|
|||
|
|
const { ccclass, property } = _decorator;
|
|||
|
|
|
|||
|
|
@ccclass('ShowNodeBorder')
|
|||
|
|
/**
|
|||
|
|
* @description: 通过边框显示node的位置和大小,默认锚点(0,1)
|
|||
|
|
*/
|
|||
|
|
export class ShowNodeBorder extends Component {
|
|||
|
|
|
|||
|
|
graphics: Graphics;
|
|||
|
|
|
|||
|
|
onLoad() {
|
|||
|
|
if(this.node.getComponent(Graphics)){
|
|||
|
|
this.graphics = this.node.getComponent(Graphics);
|
|||
|
|
}else{
|
|||
|
|
this.graphics = this.node.addComponent(Graphics);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
this.updateBorder();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
updateBorder() {
|
|||
|
|
const borderColor = Color.YELLOW;
|
|||
|
|
const borderWidth = 4;
|
|||
|
|
|
|||
|
|
const contentSize = this.node.getComponent(UITransform).contentSize;
|
|||
|
|
|
|||
|
|
this.graphics.clear();
|
|||
|
|
this.graphics.strokeColor = borderColor;
|
|||
|
|
this.graphics.lineWidth = borderWidth;
|
|||
|
|
// this.graphics.rect(-contentSize.width / 2, -contentSize.height / 2, contentSize.width, contentSize.height);// 锚点 (0,0)
|
|||
|
|
this.graphics.rect(0, 0, contentSize.width, -contentSize.height); //锚点 (0,1)
|
|||
|
|
this.graphics.stroke();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
start() {
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
update(deltaTime: number) {
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|