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));

Unity3D c# /变量分配但从未使用(?)

这只是一个构建警告,它不会影响程序的功能。这是一个很有价值的警告,它让你知道你创建了一个变量,给它赋了一个值,但是之后在你的程序中从未使用过它(就静态分析所能看到的而言)。

在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