一点小问题,关于set声明

最近学习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里存在控制程序流程的其他调用函数

存取器

谢谢,我看一下 :grinning:

你好,我看了一下存取器,但存取器好像和我描述的问题不同,存取器顾名思义是存取,但我贴的这行代码是赋值操作,我没看到有存取操作,不好意思,你能详细讲讲吗?

赋值不就是存
这个应该叫做getter setter 访问器

对不起,对不起,我脑子混乱了,你点醒了我

我脑子一下没转过来圈。 :sweat_smile:谢谢! :grinning: :grinning: :grinning:

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。