import { _decorator, Color, Component, Node, Size, Sprite, UITransform } from 'cc'; const { ccclass, property } = _decorator; @ccclass('BasicGeometry') export class BasicGeometry extends Component { private spriteNode: Node = null; private spriteComponent: Sprite = null; private uiTransform: UITransform = null; start() { // 获取名为"Sprite"的子节点 this.spriteNode = this.node.getChildByName("Sprite"); if (this.spriteNode) { this.spriteComponent = this.spriteNode.getComponent(Sprite); this.uiTransform = this.spriteNode.getComponent(UITransform); } if (!this.spriteNode || !this.spriteComponent) { console.warn("BasicGeometry: 未找到名为'Sprite'的子节点或Sprite组件"); } if (!this.uiTransform) { console.warn("BasicGeometry: 未找到UITransform组件"); } } update(deltaTime: number) { } /** * 设置精灵的大小 * @param width 宽度 * @param height 高度 */ public SetSize(width: number, height: number): void { if (!this.uiTransform) { console.warn("BasicGeometry: UITransform组件不存在,无法设置大小"); return; } this.uiTransform.setContentSize(new Size(width, height)); } /** * 设置精灵的颜色 * @param color 颜色值 */ public SetColor(color: Color): void { if (!this.spriteComponent) { console.warn("BasicGeometry: Sprite组件不存在,无法设置颜色"); return; } this.spriteComponent.color = color; } /** * 获取当前精灵的大小 * @returns 返回当前大小,如果组件不存在则返回null */ public GetSize(): Size | null { if (!this.uiTransform) { return null; } return this.uiTransform.contentSize; } /** * 获取当前精灵的颜色 * @returns 返回当前颜色,如果组件不存在则返回null */ public GetColor(): Color | null { if (!this.spriteComponent) { return null; } return this.spriteComponent.color; } }