mirror of
https://gitee.com/dgflash/oops-plugin-framework.git
synced 2026-05-09 22:02:45 +08:00
59 lines
1.7 KiB
TypeScript
59 lines
1.7 KiB
TypeScript
/*
|
||
* @Author: dgflash
|
||
* @Date: 2023-01-30 14:00:41
|
||
* @LastEditors: dgflash
|
||
* @LastEditTime: 2023-02-09 10:54:28
|
||
*/
|
||
import { Animation, AnimationClip, EventTouch, Sprite, _decorator } from "cc";
|
||
import { oops } from "../../../core/Oops";
|
||
import ButtonSimple from "./ButtonSimple";
|
||
|
||
const { ccclass, property, menu } = _decorator;
|
||
|
||
/** 准备废弃,请使用UIButton代替 */
|
||
@ccclass("ButtonEffect")
|
||
@menu('ui/button/ButtonEffect')
|
||
export default class ButtonEffect extends ButtonSimple {
|
||
@property({
|
||
tooltip: "是否开启"
|
||
})
|
||
disabledEffect: boolean = false;
|
||
|
||
private anim!: Animation;
|
||
|
||
/** 按钮禁用效果 */
|
||
get grayscale(): boolean {
|
||
return this.node.getComponent(Sprite)!.grayscale;
|
||
}
|
||
set grayscale(value: boolean) {
|
||
if (this.node.getComponent(Sprite)) {
|
||
this.node.getComponent(Sprite)!.grayscale = value;
|
||
}
|
||
}
|
||
|
||
onLoad() {
|
||
this.anim = this.node.addComponent(Animation);
|
||
|
||
var ac_start: AnimationClip = oops.res.get("common/anim/button_scale_start", AnimationClip)!;
|
||
var ac_end: AnimationClip = oops.res.get("common/anim/button_scale_end", AnimationClip)!;
|
||
this.anim.defaultClip = ac_start;
|
||
this.anim.createState(ac_start, ac_start?.name);
|
||
this.anim.createState(ac_end, ac_end?.name);
|
||
|
||
super.onLoad();
|
||
}
|
||
|
||
protected onTouchtStart(event: EventTouch) {
|
||
if (!this.disabledEffect) {
|
||
this.anim.play("button_scale_start");
|
||
}
|
||
}
|
||
|
||
protected onTouchEnd(event: EventTouch) {
|
||
if (!this.disabledEffect) {
|
||
this.anim.play("button_scale_end");
|
||
}
|
||
|
||
super.onTouchEnd(event);
|
||
}
|
||
} |