kil*_*ech 1 c# unity-game-engine
我正在浏览相机脚本并遇到声明术语
new Camera camera;
Run Code Online (Sandbox Code Playgroud)
我想知道这是做什么的.它是在创建一个实例吗?令我困惑的是脚本已经附加到Inspector中的Camera Object.那为什么有必要创建一个相机实例?它在类之上定义,但未分配给任何变量.那究竟它在Unity3d中的作用是什么?
上述声明的任何特定用例?
此功能称为"新修改器".
您需要了解cameraUnity中变量的内容:
camera声明中有变量名" " Component.当您的脚本派生自MonoBehaviour哪个派生自Behaviour哪个派生源时Component,您将继承此camera变量.该camera变量让我们您访问Camera附加到该游戏物体这个脚本是武官组成部分.
问题是camera变量现在已被弃用,Unity现在希望您使用它GetComponent<Camera>()来获取Camera附加到此GameObject 的组件.即使它被弃用,它仍然存在.它尚未被删除.它只是使用Obsolete属性标记为已弃用.您不能使用名称" camera" 声明变量.
例如,你不能这样做:
Camera camera;
Run Code Online (Sandbox Code Playgroud)
如果你这样做,你会得到以下警告:
严重级代码描述项目文件行抑制状态警告CS0108'ScriptName.camera'隐藏继承的成员'Component.camera'.如果要隐藏,请使用new关键字.
通过使用new关键字声明一个名为的变量camera:
new Camera camera;
Run Code Online (Sandbox Code Playgroud)
它将隐藏基类的属性,并删除恼人的警告
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |