| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import { AppKernel } from "@scripts/app/AppKernel";
- import { Button, Color, Component, Node, Sprite, Toggle, UIOpacity, UIRenderer, UITransform, find } from "cc";
- const CUSTOM_CLICK = "_customOnClick";
- export function addBtnClick(btn: Button | Node, onClick: Function, target?) {
- const onClickHandle = () => {
- AppKernel.sound.playBtnClick();
- onClick && onClick.apply(target);
- }
- const isNode = btn instanceof Node;
- const event_key = isNode ? Node.EventType.TOUCH_END : Button.EventType.CLICK;
- const btn_node = isNode ? btn : btn.node;
- btn_node.on(event_key, onClickHandle);
- btn_node[CUSTOM_CLICK] = onClickHandle;
- }
- export function removeBtnClick(btn: Button | Node, onClick, target) {
- const isNode = btn instanceof Node;
- const event_key = isNode ? Node.EventType.TOUCH_END : Button.EventType.CLICK;
- const btn_node = isNode ? btn : btn.node;
- const onClickHandle = btn_node[CUSTOM_CLICK];
- if (onClickHandle) {
- btn_node.off(event_key, onClickHandle);
- return;
- }
- btn_node.off(event_key, onClick, target);
- }
- export function addTogClick(tog: Toggle | Node, onToggle: Function, target?) {
- if (tog instanceof Toggle) {
- tog = tog.node;
- }
- tog.on(Toggle.EventType.CLICK, onToggle, target)
- }
- /**
- * 设置透明度
- * @param ui
- * @param alpha 0 ~ 1;
- * @returns
- */
- export function setAlpha(ui: UIRenderer | Node, alpha: number) {
- if (ui instanceof Node) {
- const comp = ui.getComponent(UIOpacity) || ui.addComponent(UIOpacity);
- comp.opacity = alpha;
- return;
- }
- let color = ui.color.clone();
- color.a = 255 * alpha;
- ui.color = color;
- }
- export function setAsLastSibling(node: Node) {
- let index = node.parent.children.length - 1;
- index = Math.max(0, index);
- node.setSiblingIndex(index);
- }
- export enum ImgFitMode {
- FitWidth = 1,
- FitHeight
- }
- export function setSpriteFitMode(sprite: Sprite, fitMoed?: ImgFitMode) {
- if (sprite === null || !sprite.spriteFrame) return;
- if (fitMoed === null) return;
- sprite.sizeMode = Sprite.SizeMode.CUSTOM;
- sprite['']
- const trans = sprite.node.getComponent(UITransform);
- const ratio = sprite.spriteFrame.width / sprite.spriteFrame.height;
- switch (fitMoed) {
- case ImgFitMode.FitHeight:
- trans.width = ratio * trans.height
- break;
- case ImgFitMode.FitWidth:
- trans.height = trans.width / ratio;
- break;
- }
- }
|