Files
shooter-demo/client-cocos/assets/scripts/App/BasicGeometry.ts

82 lines
2.3 KiB
TypeScript
Raw Normal View History

2025-11-28 18:10:10 +08:00
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;
}
}