Unity3d开发之对Public的一些个人说法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33994566/article/details/82893021

在开发项目中,我们经常需要公开类内部的变量让外部调用。c#标准写法是让我声明私有字段然后生成对应的公共属性供外部调用。保证代码安全。而我们在开发unity项目时,因为为了省时或者可以在面板赋值,我们经常直接在类内部声明公开的字段。如下:

public int num=1;

unity的独特之处时,在我们编写完代码保存后,unity编译器自动将字段的值初始化到面板上保存下来。但是当我们在脚本里更改num=2时,unity面板并不更新。也就是当我们运行程序的时候,num还是为1.如果我们不去看面板我们还以为num=2.这就造成代码的bug。尤其是项目着急的时候,总是会出现这种不如意的小毛病,你还焦头烂额但是就是找不到原因。所以,有以下建议:

  • 当我们想声明的是引用类型比如GameObject,Transform我们可以使用Public来加快代码的开发。
  • 当我们声明值类型,并且希望被外界调用,尽量使用属性。如果一定想要在面板实时观看值得变化,声明Public后建议在Start函数里进行数值的初始化更改。

别问我为什么会想这个。昨天的项目就因为这个耽误了我一个多小时。当时项目着急加上长时间工作,效率极其低下,再加上代码的不安全性,造成了这个小的bug。

猜你喜欢

转载自blog.csdn.net/qq_33994566/article/details/82893021