属性名的可见性C#游戏开发快速入门大学霸

属性名的可见性C#游戏开发快速入门大学霸

C#游戏开发快速入门

3.3  属性名的可见性属性名的可见性C#游戏开发快速入门大学霸

读者千万不要认为,只要脚本中有变量,就会在脚本成为组件以后,出现在组件下的属性列表中。这种想法是错误的,因为决定变量是否会出现在组件下,成为属性的因素是,修饰变量的是public,还是private。本章前面部分演示的示例,变量前面都有public修饰,所以才会显示在组件下的属性中,如图3-5所示。

图3-5  变量前的修饰部分——public属性名的可见性C#游戏开发快速入门大学霸

如果将strValue前的修饰public,换成private,在保存对脚本代码的修改以后,再次查看组件下的属性,就会发现名为Str Value的属性不见了,如图3-6所示。

图3-6  被private修饰的属性不见了属性名的可见性C#游戏开发快速入门大学霸

注意:脚本中可以省略对变量的修饰,也就是说不书写public和private也不会有语法上的错误。此时,Unity会默认变量是被private修饰的,因此此变量同样不会以属性的形式显示在组件下,如图3-7所示。

图3-7  省略了修饰的变量属性名的可见性C#游戏开发快速入门大学霸

C#语法规定,被public修饰的变量,可以被外界访问和修改,也就是说变量存储的数据,允许在脚本外被修改。因此开发者才可以在Unity中,通过属性修改脚本中变量存储的数据。被private修饰的变量与public刚好相反,拒绝被外界访问和修改。因此变量中的数据无法被外界修改,Unity也就不会将此类变量作为属性显示在Inspector视图中。这么看来,这是一个很明智的决策属性名的可见性C#游戏开发快速入门大学霸!

Comments are closed.