LayaBox脚本(TS):按钮缩放

/**
 * 按钮缩放脚本
 */
export default class UIScaleComponent extends Laya.Script {
    /**
     * @prop {name:delayTime, tips:"", type:Int, default:100}
     */
    public  delayTime:number = 25;
    /**
     * @prop {name:scaleRadio, tips:"缩小系数", type:Number, default:0.9}
     */
    public  scaleRadio:number=0.9;
    private _oriScaleX:number=1;
    private _oriScaleY:number=1;

    onEnable():void {
        var com:Laya.UIComponent = this.owner as Laya.UIComponent;
        com.anchorX = 0.5;
        com.anchorY = 0.5;

        this._oriScaleX = com.scaleX;
        this._oriScaleY = com.scaleY;

        //添加鼠标按下事件侦听。按下时缩小
        com.on(Laya.Event.MOUSE_DOWN, this, this.scaleSmall);
        //添加鼠标抬起事件侦听。抬起时还原。
        com.on(Laya.Event.MOUSE_UP, this, this.scaleBig);
        //添加鼠标离开事件侦听。离开时还原
        com.on(Laya.Event.MOUSE_OUT, this, this.scaleBig);
    }

    private  scaleSmall():void{
        Laya.Tween.to(this.owner, {scaleX:this.scaleRadio, scaleY: this.scaleRadio}, this.delayTime);   //ui上使用自定义的缩放系数,以满足缩放系数较大的控件
    }

    private  scaleBig():void{
        //变大还原的缓动效果
        Laya.Tween.to(this.owner, {scaleX:this._oriScaleX, scaleY:this._oriScaleY}, this.delayTime);
    }
}

你可能感兴趣的:(LayaBox脚本(TS):按钮缩放)