egret中切换皮肤的状态

晁砚
2023-12-01

使用egret进行游戏开发的过程中,给皮肤设置了不同的状态,如何在代码中切换这些状态?

这里需要覆写两个方法,一个是setWindowType(),一个是getCurrentState()。

	private _state:string;
        public setWindowType(type: string): void {
            this._state = type;
            this.invalidateState();
        }


        public getCurrentState(): string {
            return this._state;
        }
其中invalidateState()用于标记组件当前的视图状态失效,调用此方法后,子类应该覆盖 getCurrentState()方法来返回当前的视图状态名称。也就是将视图状态更新到setWindowType()中设置的state状态。


 类似资料: