Unity3D c# /变量分配但从未使用(?)
本文关键字:未使用 变量 分配 Unity3D | 更新日期: 2023-09-27 18:08:32
我有一个小问题,我有我的变量写,我可以看到他们声明和使用,但统一控制台说它的值从来没有使用过…变量为distanceY
我不知道是什么问题,谁能帮我一下吗?"Assets/Scripts/CameraWindowMove.cs(17,22): warning CS0414: private field ' CameraWindowMove.cs "指定了distanceY',但它的值从未被使用过"
下面是代码示例:
float distanceX, distanceY;
void Awake ()
{
playerBoxCollider = GameObject.Find ("Player").GetComponent<BoxCollider2D> ();
windowBoxCollider = GetComponent<BoxCollider2D> ();
player = GameObject.Find ("Player");
}
void Start ()
{
x = transform.position.x;
y = transform.position.y;
lookAhead = 0;
distanceX = ((windowBoxCollider.bounds.size.x / 2) - (playerBoxCollider.bounds.size.x / 2));
distanceY = ((windowBoxCollider.bounds.size.y / 2) - (playerBoxCollider.bounds.size.y / 2));
这只是一个构建警告,它不会影响程序的功能。这是一个很有价值的警告,它让你知道你创建了一个变量,给它赋了一个值,但是之后在你的程序中从未使用过它(就静态分析所能看到的而言)。
在c#中,你可以通过脚本文件顶部的pragma来禁用它们
常见的有:
#pragma warning disable 0168 // variable declared but not used.
#pragma warning disable 0219 // variable assigned but not used.
#pragma warning disable 0414 // private field assigned but not used.
我不建议使用这些禁用,尽管这些警告是有用的。这只是为了开发。
这个警告告诉您,您只将value设置为distanceY,但没有在任何地方使用它的value