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) {
 | ||
| 
 | ||
|     }
 | ||
| }
 | ||
| 
 | ||
| 
 |