Files
shooter-demo/client-cocos/assets/scripts/App/BasicGeometry.ts
2025-11-28 18:10:10 +08:00

82 lines
2.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}