Quantcast
Channel: Cocos中文社区 - 最新主题
Viewing all articles
Browse latest Browse all 88738

Creator 2.2.2 按钮灰度有问题

$
0
0

@38604623 写道:

Creator 2.2.2 版本,按钮的过渡状态设置为Button.Transition.SCALE,设置enableAutoGrayEffect为true的情况下,修改按钮是交互interactable为false,按钮不会灰掉,查了引擎代码发现 :updateDisabledState 函数里面的this.sprite对象为null导致后面的置灰未生效,不知道这算不算bug,还是说我用法有问题?将interactable属性的notify里面先调用this.resetState();然后再this.updateState();可以确保this._sprite不为null也就正常了,不知道官方是出于什么考虑这样做?
interactable: {
default: true,
tooltip: CC_DEV && 'i18n:COMPONENT.button.interactable',
notify () {
this._updateState();

            if (!this.interactable) {
                this._resetState();
            }
        },
        animatable: false
    },

_updateDisabledState () {
    if (this._sprite) {
        let useGrayMaterial = false;

        if (this.enableAutoGrayEffect) {
            if (!(this.transition === Transition.SPRITE && this.disabledSprite)) {
                if (!this.interactable) {
                    useGrayMaterial = true;
                }
            }
        }

        this._switchGrayMaterial(useGrayMaterial, this._sprite);
    }
}

帖子: 1

参与者: 1

阅读整个主题


Viewing all articles
Browse latest Browse all 88738

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>