最近学习cocos creator在看教程时看到一个函数声明以及其使用方法,位于官方demo一步一步小游戏,具体代码及问题如下
start(){
this.curState = GameState.GS_INIT;
//GameState.GS_INIT为枚举类型
}
set curState(value:GameState){
switch(value){
…
}
}
我的疑问在于,this.curState=GameState.GS_INIT;这个表达式中,curState是一个用set 声明的函数,将一个函数用=号等于右边的表达式,这样不是赋值操作吗?我试过换做其他形式,包括this.curState(GameState.GS_INIT)、gameManager.curState(gameManager),游戏运行时都报错,这个表达式是什么意思?没有看明白,上网搜过,没有得到想要的明确答案,想请问为什么这样写?如果这个只是单纯的赋值操作的话,源码里其他地方并没有二次恢复调用这个函数,且在curState里存在控制程序流程的其他调用函数

谢谢!