属性名的可见性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.