错误 CS0120:访问非静态成员"相机操作员.反转鼠标Y(浮点)"需要对象引用

error CS0120: An object reference is required to access non-static member `CameraOperator.InvertMouseY(float)'

本文关键字:鼠标 浮点 对象引用 访问 CS0120 静态成员 操作员 相机 错误      更新时间:2023-10-16

我正在制作RTS风格的游戏,我有一个错误:

错误CS0120:访问非静态成员"CameraOperator.InventMouseY(float)"需要对象引用

这是带有错误的脚本:

camPos.y = CameraOperator.InvertMouseY (camPos.y);

我被告知要做一个例子,但不确定具体该做什么。我被告知要使用,但不知道如何写。如果它取代了整行或只是部分。

CameraOperator公司;co.InvertMouseY(camPos.y);

这是完整的脚本

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Unit2 : MonoBehaviour
{
    public bool selected = false;
    private void Update ()
    {
            if (renderer.isVisible && Input.GetMouseButtonDown (0)) {
                    Vector3 camPos = Camera.main.WorldToScreenPoint (transform.position);
                    camPos.y = CameraOperator.InvertMouseY(camPos.y);
                    selected = CameraOperator.Selection.Contains (camPos);
            }
            if (selected) {
                    renderer.material.color = Color.red;
            } else {
                    renderer.material.color = Color.white;
            }
    }

}

您试图在没有声明类实例的情况下调用CameraOperator的成员函数。

此外,InvertMouseY()似乎被声明为一个成员函数,它需要有一个实际类的实例才能被调用。

CameraOperator是类,您正试图调用InvertMouseY,就好像它是一个静态函数一样。

你需要一个实例,

CameraOperator co;
co.InvertMouseY(camPos.y);