1. 程式人生 > >cocos creator 按鈕的通用指令碼

cocos creator 按鈕的通用指令碼

creator 預設的按鈕狀態有四種: NONE 、 COLOR 、 SPRITE 、 SCALE

這裡的SCALE預設的是點選放大的效果,但在寫程式碼的時候可能會要求實現點選縮小

為了方便新增,我們自定義指令碼,新增到按鈕上即可。 這裡還可以直接在腳本里新增按鈕點選音效 。

/**
 * @ 按鈕通用控制指令碼
 * @ 使用方法:直接新增到按鈕控制元件即可 縮放參數可以自己調整
 */

const {ccclass, property} = cc._decorator;

@ccclass
export default class NewClass extends cc.Component {

    @property
    pressedScale: number = 0.8;

    @property
    transDuration: number = 0.1;

    @property
    audio:number = 0;

    initScale: number = 0;

    onLoad () {
        var that = this;
        this.initScale = this.node.scale;

        function onTouchDown (event) {
            let scaleDownAction = cc.scaleTo(that.transDuration, that.pressedScale);
            let btnScale = event.target.getComponent('ButtonScaler');
            this.stopAllActions();
            //這裡可以新增音效
            this.runAction(scaleDownAction);
        }

        function onTouchUp (event) {
            let scaleUpAction = cc.scaleTo(that.transDuration, that.initScale);
            this.stopAllActions();
            this.runAction(scaleUpAction);
        }

        this.node.on('touchstart', onTouchDown, this.node);
        this.node.on('touchend', onTouchUp, this.node);
        this.node.on('touchcancel', onTouchUp, this.node);
    }
}