| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { AppKernel } from "@scripts/app/AppKernel";
- import { Button, Color, Component, Node, Toggle, UIOpacity, UIRenderer, 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;
- }
|