- 这段时间工作遇到的最大的一个疑问就是,有时候经常需要通过一个按钮去改变另一个里面的类的字段,从而达成让物体变换运动方向或者旋转速度之类的功能。这里我总结几个方法。
第一个呢是让物体挂载脚本,脚本里的update放旋转的方法,让其一直旋转,然后在这个脚本里放入另外一个被button引用的方法去改变旋转的状态。这是比较简单的但是耦合度较高的写法,不太适合大程序。
第二个呢也是让物体挂载脚本,这个脚本只在update放旋转的方法,然后在另一个整合UI的脚本对物体挂载的脚本里的字段进行修改,这里注意一下,我经常犯的问题是想当然,比如C#里面说改变另外一个类的字段需要实例化,我就也在unity这里实例化,但是让物体挂载脚本的过程本身就是对这个脚本的实例化,整合UI的脚本里面再实例出一个类的话,这两个实例不是同一个,所以有两个方法可以实现
1.要么在UI的脚本里public一个物体挂载的类的变量,把物体挂载的脚本放在上面
2.要么把挂载在物体上的脚本撤下来,在UI的脚本里手动new实例一个,然后用代码挂在物体上。