使用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状态。