错误CS0120:访问非静态成员`CameraOperator.InvertMouseY(float)'需要对象引用。

时间:2014-10-29 22:19:02

标签: c++

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

  

错误CS0120:访问非静态成员`CameraOperator.InvertMouseY(float)'

需要对象引用

以下是包含错误的脚本:

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

我被告知要做一个实例,但不知道该怎么做。 我被告知要使用,但不知道如何写它。如果它取代整行或只是部分。

CameraOperator co; 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;
            }
    }

}

2 个答案:

答案 0 :(得分:0)

你试图调用CameraOperator的成员函数而没有声明类的实例。

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

答案 1 :(得分:0)

CameraOperator是课程,您尝试拨打InvertMouseY,就像它是静态函数一样。

您需要一个实例,

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